batmat develop
Batched linear algebra routines
Loading...
Searching...
No Matches
batmat::datapar Namespace Reference

Typedefs

template<class Tp, class Abi>
using simd = stdx::simd<Tp, Abi>
template<class Tp, std::size_t Np>
using deduced_abi = stdx::simd_abi::deduce_t<Tp, Np>
template<class Tp, std::size_t Np>
using deduced_simd = simd<Tp, deduced_abi<Tp, Np>>
template<class Tp, class Abi>
using simd_size = stdx::simd_size<Tp, Abi>
template<class Tp, class Abi>
using simd_align = stdx::memory_alignment<simd<Tp, Abi>>
template<class T, class V>
using rebind_simd_t = stdx::rebind_simd_t<T, V>
template<class Tp>
using scalar_abi = deduced_abi<Tp, 1>

Functions

template<class V>
unaligned_load (const typename V::value_type *p)
template<class V>
aligned_load (const typename V::value_type *p)
template<class V>
void unaligned_store (V v, typename V::value_type *p)
template<class V>
void aligned_store (V v, typename V::value_type *p)
template<class V>
masked_aligned_load (const typename V::value_type *p, typename V::mask_type m)
template<class V>
masked_unaligned_load (const typename V::value_type *p, typename V::mask_type m)
template<class V>
void masked_aligned_store (V v, typename V::mask_type m, typename V::value_type *p)
template<class V>
void masked_unaligned_store (V v, typename V::mask_type m, typename V::value_type *p)
template<class V, size_t I, bool Value = true>
auto generate_mask ()
template<class V, bool Value = true>
auto generate_mask (size_t i)
template<class V, size_t N, bool Value = true>
auto generate_mask_until ()
template<class V, size_t N>
partial_load (const typename V::value_type *p)
template<class V>
auto to_intrin (V v)
auto reduce_count (auto v)
auto select (auto cond, auto t, auto f)
template<class V>
constexpr V from_values (auto... values)

Typedef Documentation

◆ simd

template<class Tp, class Abi>
using batmat::datapar::simd = stdx::simd<Tp, Abi>

Definition at line 148 of file simd.hpp.

◆ deduced_abi

template<class Tp, std::size_t Np>
using batmat::datapar::deduced_abi = stdx::simd_abi::deduce_t<Tp, Np>

Definition at line 150 of file simd.hpp.

◆ deduced_simd

template<class Tp, std::size_t Np>
using batmat::datapar::deduced_simd = simd<Tp, deduced_abi<Tp, Np>>

Definition at line 152 of file simd.hpp.

◆ simd_size

template<class Tp, class Abi>
using batmat::datapar::simd_size = stdx::simd_size<Tp, Abi>

Definition at line 233 of file simd.hpp.

◆ simd_align

template<class Tp, class Abi>
using batmat::datapar::simd_align = stdx::memory_alignment<simd<Tp, Abi>>

Definition at line 235 of file simd.hpp.

◆ rebind_simd_t

template<class T, class V>
using batmat::datapar::rebind_simd_t = stdx::rebind_simd_t<T, V>

Definition at line 237 of file simd.hpp.

◆ scalar_abi

template<class Tp>
using batmat::datapar::scalar_abi = deduced_abi<Tp, 1>

Definition at line 239 of file simd.hpp.

Function Documentation

◆ unaligned_load()

template<class V>
V batmat::datapar::unaligned_load ( const typename V::value_type * p)

Definition at line 155 of file simd.hpp.

◆ aligned_load()

template<class V>
V batmat::datapar::aligned_load ( const typename V::value_type * p)

Definition at line 160 of file simd.hpp.

◆ unaligned_store()

template<class V>
void batmat::datapar::unaligned_store ( V v,
typename V::value_type * p )

Definition at line 165 of file simd.hpp.

◆ aligned_store()

template<class V>
void batmat::datapar::aligned_store ( V v,
typename V::value_type * p )

Definition at line 170 of file simd.hpp.

◆ masked_aligned_load()

template<class V>
V batmat::datapar::masked_aligned_load ( const typename V::value_type * p,
typename V::mask_type m )

Definition at line 175 of file simd.hpp.

◆ masked_unaligned_load()

template<class V>
V batmat::datapar::masked_unaligned_load ( const typename V::value_type * p,
typename V::mask_type m )

Definition at line 182 of file simd.hpp.

◆ masked_aligned_store()

template<class V>
void batmat::datapar::masked_aligned_store ( V v,
typename V::mask_type m,
typename V::value_type * p )

Definition at line 189 of file simd.hpp.

◆ masked_unaligned_store()

template<class V>
void batmat::datapar::masked_unaligned_store ( V v,
typename V::mask_type m,
typename V::value_type * p )

Definition at line 194 of file simd.hpp.

◆ generate_mask() [1/2]

template<class V, size_t I, bool Value = true>
auto batmat::datapar::generate_mask ( )

Definition at line 199 of file simd.hpp.

◆ generate_mask() [2/2]

template<class V, bool Value = true>
auto batmat::datapar::generate_mask ( size_t i)

Definition at line 206 of file simd.hpp.

◆ generate_mask_until()

template<class V, size_t N, bool Value = true>
auto batmat::datapar::generate_mask_until ( )

Definition at line 213 of file simd.hpp.

◆ partial_load()

template<class V, size_t N>
V batmat::datapar::partial_load ( const typename V::value_type * p)

Definition at line 221 of file simd.hpp.

◆ to_intrin()

template<class V>
auto batmat::datapar::to_intrin ( V v)

Definition at line 227 of file simd.hpp.

◆ reduce_count()

auto batmat::datapar::reduce_count ( auto v)

Definition at line 244 of file simd.hpp.

◆ select()

auto batmat::datapar::select ( auto cond,
auto t,
auto f )

Definition at line 245 of file simd.hpp.

◆ from_values()

template<class V>
V batmat::datapar::from_values ( auto... values)
constexpr

Definition at line 257 of file simd.hpp.