alpaka
Abstraction Library for Parallel Kernel Acceleration
Loading...
Searching...
No Matches
alpaka::SimdMask< T_Type, T_width, T_Storage > Struct Template Reference

Simd mask vector. More...

#include <SimdMask.hpp>

Inheritance diagram for alpaka::SimdMask< T_Type, T_width, T_Storage >:

Public Types

using index_type = uint32_t
using rank_type = uint32_t
using reference = typename Storage::reference
 type is an implementation detail, can be a proxy type.
using size_type = uint32_t
using Storage = T_Storage
using type = bool
using UniSimdMask = SimdMask<T_Type, T_width>

Public Member Functions

 SimdMask ()=default
template<typename F>
ALPAKA_FN_HOST_ACC SimdMask (F &&generator)
 Initialize via a generator expression.
 SimdMask (SimdMask const &other)=default
template<typename T_OtherStorage>
ALPAKA_FN_HOST_ACC SimdMask (SimdMask< T_Type, T_width, T_OtherStorage > const &other)
 constructor allows changing the storage policy
template<typename... T_Args>
ALPAKA_FN_HOST_ACC SimdMask (T_Args const &... args)
template<typename... T_Args>
ALPAKA_FN_HOST_ACC SimdMask (T_Args const &... args)
 Constructor for SIMD pack.
ALPAKA_FN_HOST_ACC SimdMask (T_Storage const &other)
ALPAKA_FN_HOST_ACC SimdMask (typename T_Storage::BaseType const &base)
constexpr void copyFrom (T_Type const *data, concepts::Alignment auto alignment)
constexpr void copyTo (auto *data, concepts::Alignment auto alignment) const
constexpr operator bool ()
 Allow static_cast / explicit cast to member type for 1D vector.
constexpr SimdMaskoperator= (SimdMask &&)=default
constexpr SimdMaskoperator= (SimdMask const &)=default
constexpr reference operator[] (std::integral auto const idx)
constexpr type operator[] (std::integral auto const idx) const
constexpr type reduce (auto &&reduceFunc) const
 reduce all elements to a single value
constexpr SimdMask toRT () const
std::string toString (std::string const separator=",", std::string const enclosings="{}") const
 create string out of the SIMD pack
constexpr auto & asStorage ()
 static cast the instance to the storage type
constexpr auto const & asStorage () const
 static cast the instance to the storage type
template<typename T_OtherStorage>
constexpr SimdMaskoperator&= (SimdMask< T_Type, T_width, T_OtherStorage > const &rhs)
constexpr SimdMaskoperator&= (concepts::LosslesslyConvertible< T_Type > auto const value)
template<typename T_OtherStorage>
constexpr SimdMaskoperator|= (SimdMask< T_Type, T_width, T_OtherStorage > const &rhs)
constexpr SimdMaskoperator|= (concepts::LosslesslyConvertible< T_Type > auto const value)
template<typename T_OtherStorage>
constexpr SimdMaskoperator^= (SimdMask< T_Type, T_width, T_OtherStorage > const &rhs)
constexpr SimdMaskoperator^= (concepts::LosslesslyConvertible< T_Type > auto const value)
template<typename T_OtherStorage>
constexpr SimdMaskoperator= (SimdMask< T_Type, T_width, T_OtherStorage > const &rhs)
constexpr SimdMaskoperator= (concepts::LosslesslyConvertible< T_Type > auto const value)
constexpr reference x ()
constexpr type x () const
constexpr reference y ()
constexpr type y () const
constexpr reference z ()
constexpr type z () const
constexpr reference w ()
constexpr type w () const
constexpr reference r ()
constexpr type r () const
constexpr reference g ()
constexpr type g () const
constexpr reference b ()
constexpr type b () const
constexpr reference a ()
constexpr type a () const
constexpr reference s0 ()
constexpr type s0 () const
constexpr reference s1 ()
constexpr type s1 () const
constexpr reference s2 ()
constexpr type s2 () const
constexpr reference s3 ()
constexpr type s3 () const
constexpr reference s4 ()
constexpr type s4 () const
constexpr reference s5 ()
constexpr type s5 () const
constexpr reference s6 ()
constexpr type s6 () const
constexpr reference s7 ()
constexpr type s7 () const
constexpr reference s8 ()
constexpr type s8 () const
constexpr reference s9 ()
constexpr type s9 () const
constexpr reference sA ()
constexpr type sA () const
constexpr reference sB ()
constexpr type sB () const
constexpr reference sC ()
constexpr type sC () const
constexpr reference sD ()
constexpr type sD () const
constexpr reference sE ()
constexpr type sE () const
constexpr reference sF ()
constexpr type sF () const

Static Public Member Functions

static constexpr auto fill (bool value)
 Creates a Simd where all lanes are set to the same value.
static consteval uint32_t width ()
 Number of components/lanes in the SIMD pack.

Friends

template<concepts::SimdMask Mask, concepts::Simd T_Simd>
struct SimdWhereExpr

Detailed Description

template<typename T_Type, uint32_t T_width, typename T_Storage>
struct alpaka::SimdMask< T_Type, T_width, T_Storage >

Simd mask vector.

Attention
You should not use this type to create a buffer of SIMD masks. The implementation is not ABI compatible between different API's. Using Simd masks created on the host and used in the compute kernel will be undefined behaviour.

This class is designed to be used within a kernel together with the where() operation.

Template Parameters
T_Typedata value type the mask should be applied to
T_widthnumber of lanes in the SIMD mask vector
T_Storagewrapped native representation of the SIMD mask

Definition at line 76 of file SimdMask.hpp.

Member Typedef Documentation

◆ index_type

template<typename T_Type, uint32_t T_width, typename T_Storage>
using alpaka::SimdMask< T_Type, T_width, T_Storage >::index_type = uint32_t

Definition at line 83 of file SimdMask.hpp.

◆ rank_type

template<typename T_Type, uint32_t T_width, typename T_Storage>
using alpaka::SimdMask< T_Type, T_width, T_Storage >::rank_type = uint32_t

Definition at line 85 of file SimdMask.hpp.

◆ reference

template<typename T_Type, uint32_t T_width, typename T_Storage>
using alpaka::SimdMask< T_Type, T_width, T_Storage >::reference = typename Storage::reference

type is an implementation detail, can be a proxy type.

Definition at line 81 of file SimdMask.hpp.

◆ size_type

template<typename T_Type, uint32_t T_width, typename T_Storage>
using alpaka::SimdMask< T_Type, T_width, T_Storage >::size_type = uint32_t

Definition at line 84 of file SimdMask.hpp.

◆ Storage

template<typename T_Type, uint32_t T_width, typename T_Storage>
using alpaka::SimdMask< T_Type, T_width, T_Storage >::Storage = T_Storage

Definition at line 78 of file SimdMask.hpp.

◆ type

template<typename T_Type, uint32_t T_width, typename T_Storage>
using alpaka::SimdMask< T_Type, T_width, T_Storage >::type = bool

Definition at line 79 of file SimdMask.hpp.

◆ UniSimdMask

template<typename T_Type, uint32_t T_width, typename T_Storage>
using alpaka::SimdMask< T_Type, T_width, T_Storage >::UniSimdMask = SimdMask<T_Type, T_width>

Definition at line 88 of file SimdMask.hpp.

Constructor & Destructor Documentation

◆ SimdMask() [1/8]

template<typename T_Type, uint32_t T_width, typename T_Storage>
alpaka::SimdMask< T_Type, T_width, T_Storage >::SimdMask ( )
default

◆ SimdMask() [2/8]

template<typename T_Type, uint32_t T_width, typename T_Storage>
template<typename F>
ALPAKA_FN_HOST_ACC alpaka::SimdMask< T_Type, T_width, T_Storage >::SimdMask ( F && generator)
inlineexplicit

Initialize via a generator expression.

The generator must return the value for the corresponding index of the component which is passed to the generator.

Note
The generator needs to have the function interface bool generator(uint32_t id).

Definition at line 104 of file SimdMask.hpp.

◆ SimdMask() [3/8]

template<typename T_Type, uint32_t T_width, typename T_Storage>
template<typename... T_Args>
ALPAKA_FN_HOST_ACC alpaka::SimdMask< T_Type, T_width, T_Storage >::SimdMask ( T_Args const &... args)
inline

Constructor for SIMD pack.

Attention
This constructor allows implicit casts.
Parameters
argsvalue of each lane index, x,y,z,...

A constexpr vector should be initialized with {} instead of () because at least CUDA 11.6 has problems in cases where a compile time evaluation is required.

constexpr auto vec1 = Simd{ 1 };
constexpr auto vec2 = Simd{ 1, 2 };
//or explicit
constexpr auto vec3 = Simd<int, 3u>{ 1, 2, 3 };
constexpr auto vec4 = Simd<int, 3u>{ {1, 2, 3} };
ALPAKA_FN_HOST_ACC Simd(T_1, T_Args...) -> Simd< T_1, uint32_t(sizeof...(T_Args)+1u)>
Simd vector.
Definition Simd.hpp:78

Definition at line 129 of file SimdMask.hpp.

◆ SimdMask() [4/8]

template<typename T_Type, uint32_t T_width, typename T_Storage>
template<typename... T_Args>
ALPAKA_FN_HOST_ACC alpaka::SimdMask< T_Type, T_width, T_Storage >::SimdMask ( T_Args const &... args)
inline

Definition at line 135 of file SimdMask.hpp.

◆ SimdMask() [5/8]

template<typename T_Type, uint32_t T_width, typename T_Storage>
alpaka::SimdMask< T_Type, T_width, T_Storage >::SimdMask ( SimdMask< T_Type, T_width, T_Storage > const & other)
default

◆ SimdMask() [6/8]

template<typename T_Type, uint32_t T_width, typename T_Storage>
ALPAKA_FN_HOST_ACC alpaka::SimdMask< T_Type, T_width, T_Storage >::SimdMask ( T_Storage const & other)
inline

Definition at line 141 of file SimdMask.hpp.

◆ SimdMask() [7/8]

template<typename T_Type, uint32_t T_width, typename T_Storage>
ALPAKA_FN_HOST_ACC alpaka::SimdMask< T_Type, T_width, T_Storage >::SimdMask ( typename T_Storage::BaseType const & base)
inline

Definition at line 145 of file SimdMask.hpp.

◆ SimdMask() [8/8]

template<typename T_Type, uint32_t T_width, typename T_Storage>
template<typename T_OtherStorage>
ALPAKA_FN_HOST_ACC alpaka::SimdMask< T_Type, T_width, T_Storage >::SimdMask ( SimdMask< T_Type, T_width, T_OtherStorage > const & other)
inline

constructor allows changing the storage policy

Definition at line 152 of file SimdMask.hpp.

Member Function Documentation

◆ a() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::a ( )
inlineconstexpr

Definition at line 288 of file SimdMask.hpp.

◆ a() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::a ( ) const
inlineconstexpr

Definition at line 288 of file SimdMask.hpp.

◆ asStorage() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
auto & alpaka::SimdMask< T_Type, T_width, T_Storage >::asStorage ( )
inlineconstexpr

static cast the instance to the storage type

Attention
: Do not use this method in user code, it is an implementation detail and can cause undefined behaviour if used wrong.

Definition at line 207 of file SimdMask.hpp.

◆ asStorage() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
auto const & alpaka::SimdMask< T_Type, T_width, T_Storage >::asStorage ( ) const
inlineconstexpr

static cast the instance to the storage type

Attention
: Do not use this method in user code, it is an implementation detail and can cause undefined behaviour if used wrong.

Definition at line 212 of file SimdMask.hpp.

◆ b() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::b ( )
inlineconstexpr

Definition at line 287 of file SimdMask.hpp.

◆ b() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::b ( ) const
inlineconstexpr

Definition at line 287 of file SimdMask.hpp.

◆ copyFrom()

template<typename T_Type, uint32_t T_width, typename T_Storage>
void alpaka::SimdMask< T_Type, T_width, T_Storage >::copyFrom ( T_Type const * data,
concepts::Alignment auto alignment )
inlineconstexpr

Definition at line 169 of file SimdMask.hpp.

◆ copyTo()

template<typename T_Type, uint32_t T_width, typename T_Storage>
void alpaka::SimdMask< T_Type, T_width, T_Storage >::copyTo ( auto * data,
concepts::Alignment auto alignment ) const
inlineconstexpr

Definition at line 174 of file SimdMask.hpp.

◆ fill()

template<typename T_Type, uint32_t T_width, typename T_Storage>
constexpr auto alpaka::SimdMask< T_Type, T_width, T_Storage >::fill ( bool value)
inlinestaticconstexpr

Creates a Simd where all lanes are set to the same value.

Parameters
valueValue which is set for all lanes
Returns
new Simd<...>

Definition at line 185 of file SimdMask.hpp.

◆ g() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::g ( )
inlineconstexpr

Definition at line 286 of file SimdMask.hpp.

◆ g() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::g ( ) const
inlineconstexpr

Definition at line 286 of file SimdMask.hpp.

◆ operator bool()

template<typename T_Type, uint32_t T_width, typename T_Storage>
alpaka::SimdMask< T_Type, T_width, T_Storage >::operator bool ( )
inlineexplicitconstexpr

Allow static_cast / explicit cast to member type for 1D vector.

Definition at line 158 of file SimdMask.hpp.

◆ operator&=() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator&= ( concepts::LosslesslyConvertible< T_Type > auto const value)
inlineconstexpr

Definition at line 235 of file SimdMask.hpp.

◆ operator&=() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
template<typename T_OtherStorage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator&= ( SimdMask< T_Type, T_width, T_OtherStorage > const & rhs)
inlineconstexpr

Definition at line 235 of file SimdMask.hpp.

◆ operator=() [1/4]

template<typename T_Type, uint32_t T_width, typename T_Storage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator= ( concepts::LosslesslyConvertible< T_Type > auto const value)
inlineconstexpr

Definition at line 238 of file SimdMask.hpp.

◆ operator=() [2/4]

template<typename T_Type, uint32_t T_width, typename T_Storage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator= ( SimdMask< T_Type, T_width, T_Storage > && )
constexprdefault

◆ operator=() [3/4]

template<typename T_Type, uint32_t T_width, typename T_Storage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator= ( SimdMask< T_Type, T_width, T_Storage > const & )
constexprdefault

◆ operator=() [4/4]

template<typename T_Type, uint32_t T_width, typename T_Storage>
template<typename T_OtherStorage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator= ( SimdMask< T_Type, T_width, T_OtherStorage > const & rhs)
inlineconstexpr

Definition at line 238 of file SimdMask.hpp.

◆ operator[]() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::operator[] ( std::integral auto const idx)
inlineconstexpr

Definition at line 244 of file SimdMask.hpp.

◆ operator[]() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::operator[] ( std::integral auto const idx) const
inlineconstexpr

Definition at line 249 of file SimdMask.hpp.

◆ operator^=() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator^= ( concepts::LosslesslyConvertible< T_Type > auto const value)
inlineconstexpr

Definition at line 237 of file SimdMask.hpp.

◆ operator^=() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
template<typename T_OtherStorage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator^= ( SimdMask< T_Type, T_width, T_OtherStorage > const & rhs)
inlineconstexpr

Definition at line 237 of file SimdMask.hpp.

◆ operator|=() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator|= ( concepts::LosslesslyConvertible< T_Type > auto const value)
inlineconstexpr

Definition at line 236 of file SimdMask.hpp.

◆ operator|=() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
template<typename T_OtherStorage>
SimdMask & alpaka::SimdMask< T_Type, T_width, T_Storage >::operator|= ( SimdMask< T_Type, T_width, T_OtherStorage > const & rhs)
inlineconstexpr

Definition at line 236 of file SimdMask.hpp.

◆ r() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::r ( )
inlineconstexpr

Definition at line 285 of file SimdMask.hpp.

◆ r() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::r ( ) const
inlineconstexpr

Definition at line 285 of file SimdMask.hpp.

◆ reduce()

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::reduce ( auto && reduceFunc) const
inlinenodiscardconstexpr

reduce all elements to a single value

For better numerical stability a tree reduce algorithm is used.

Template Parameters
BinaryOpbinary functor executed to reduce the range The binary operation must be associative.
Returns
the type of the result depends on the binary functor

Definition at line 319 of file SimdMask.hpp.

◆ s0() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s0 ( )
inlineconstexpr

Definition at line 290 of file SimdMask.hpp.

◆ s0() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s0 ( ) const
inlineconstexpr

Definition at line 290 of file SimdMask.hpp.

◆ s1() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s1 ( )
inlineconstexpr

Definition at line 291 of file SimdMask.hpp.

◆ s1() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s1 ( ) const
inlineconstexpr

Definition at line 291 of file SimdMask.hpp.

◆ s2() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s2 ( )
inlineconstexpr

Definition at line 292 of file SimdMask.hpp.

◆ s2() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s2 ( ) const
inlineconstexpr

Definition at line 292 of file SimdMask.hpp.

◆ s3() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s3 ( )
inlineconstexpr

Definition at line 293 of file SimdMask.hpp.

◆ s3() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s3 ( ) const
inlineconstexpr

Definition at line 293 of file SimdMask.hpp.

◆ s4() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s4 ( )
inlineconstexpr

Definition at line 294 of file SimdMask.hpp.

◆ s4() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s4 ( ) const
inlineconstexpr

Definition at line 294 of file SimdMask.hpp.

◆ s5() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s5 ( )
inlineconstexpr

Definition at line 295 of file SimdMask.hpp.

◆ s5() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s5 ( ) const
inlineconstexpr

Definition at line 295 of file SimdMask.hpp.

◆ s6() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s6 ( )
inlineconstexpr

Definition at line 296 of file SimdMask.hpp.

◆ s6() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s6 ( ) const
inlineconstexpr

Definition at line 296 of file SimdMask.hpp.

◆ s7() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s7 ( )
inlineconstexpr

Definition at line 297 of file SimdMask.hpp.

◆ s7() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s7 ( ) const
inlineconstexpr

Definition at line 297 of file SimdMask.hpp.

◆ s8() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s8 ( )
inlineconstexpr

Definition at line 298 of file SimdMask.hpp.

◆ s8() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s8 ( ) const
inlineconstexpr

Definition at line 298 of file SimdMask.hpp.

◆ s9() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::s9 ( )
inlineconstexpr

Definition at line 299 of file SimdMask.hpp.

◆ s9() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::s9 ( ) const
inlineconstexpr

Definition at line 299 of file SimdMask.hpp.

◆ sA() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::sA ( )
inlineconstexpr

Definition at line 300 of file SimdMask.hpp.

◆ sA() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::sA ( ) const
inlineconstexpr

Definition at line 300 of file SimdMask.hpp.

◆ sB() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::sB ( )
inlineconstexpr

Definition at line 301 of file SimdMask.hpp.

◆ sB() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::sB ( ) const
inlineconstexpr

Definition at line 301 of file SimdMask.hpp.

◆ sC() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::sC ( )
inlineconstexpr

Definition at line 302 of file SimdMask.hpp.

◆ sC() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::sC ( ) const
inlineconstexpr

Definition at line 302 of file SimdMask.hpp.

◆ sD() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::sD ( )
inlineconstexpr

Definition at line 303 of file SimdMask.hpp.

◆ sD() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::sD ( ) const
inlineconstexpr

Definition at line 303 of file SimdMask.hpp.

◆ sE() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::sE ( )
inlineconstexpr

Definition at line 304 of file SimdMask.hpp.

◆ sE() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::sE ( ) const
inlineconstexpr

Definition at line 304 of file SimdMask.hpp.

◆ sF() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::sF ( )
inlineconstexpr

Definition at line 305 of file SimdMask.hpp.

◆ sF() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::sF ( ) const
inlineconstexpr

Definition at line 305 of file SimdMask.hpp.

◆ toRT()

template<typename T_Type, uint32_t T_width, typename T_Storage>
SimdMask alpaka::SimdMask< T_Type, T_width, T_Storage >::toRT ( ) const
inlineconstexpr

Definition at line 190 of file SimdMask.hpp.

◆ toString()

template<typename T_Type, uint32_t T_width, typename T_Storage>
std::string alpaka::SimdMask< T_Type, T_width, T_Storage >::toString ( std::string const separator = ",",
std::string const enclosings = "{}" ) const
inline

create string out of the SIMD pack

Parameters
separatorstring to separate components of the SIMD pack
enclosingsstring with width 2 to enclose SIMD pack width == 0 ? no enclose symbols width == 1 ? means enclose symbol begin and end are equal width >= 2 ? letter[0] = begin enclose symbol letter[1] = end enclose symbol

example: .toString(";","|") -> |x;...;z| .toString(",","[]") -> [x,...,z]

Definition at line 337 of file SimdMask.hpp.

◆ w() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::w ( )
inlineconstexpr

Definition at line 283 of file SimdMask.hpp.

◆ w() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::w ( ) const
inlineconstexpr

Definition at line 283 of file SimdMask.hpp.

◆ width()

template<typename T_Type, uint32_t T_width, typename T_Storage>
consteval uint32_t alpaka::SimdMask< T_Type, T_width, T_Storage >::width ( )
inlinestaticconsteval

Number of components/lanes in the SIMD pack.

Definition at line 164 of file SimdMask.hpp.

◆ x() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::x ( )
inlineconstexpr

Definition at line 280 of file SimdMask.hpp.

◆ x() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::x ( ) const
inlineconstexpr

Definition at line 280 of file SimdMask.hpp.

◆ y() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::y ( )
inlineconstexpr

Definition at line 281 of file SimdMask.hpp.

◆ y() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::y ( ) const
inlineconstexpr

Definition at line 281 of file SimdMask.hpp.

◆ z() [1/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
reference alpaka::SimdMask< T_Type, T_width, T_Storage >::z ( )
inlineconstexpr

Definition at line 282 of file SimdMask.hpp.

◆ z() [2/2]

template<typename T_Type, uint32_t T_width, typename T_Storage>
type alpaka::SimdMask< T_Type, T_width, T_Storage >::z ( ) const
inlineconstexpr

Definition at line 282 of file SimdMask.hpp.

◆ SimdWhereExpr

template<typename T_Type, uint32_t T_width, typename T_Storage>
template<concepts::SimdMask Mask, concepts::Simd T_Simd>
friend struct SimdWhereExpr
friend

Definition at line 403 of file SimdMask.hpp.


The documentation for this struct was generated from the following file: