DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::ext::oneapi::sub_group_mask Struct Reference

#include <sycl/ext/oneapi/sub_group_mask.hpp>

Collaboration diagram for sycl::_V1::ext::oneapi::sub_group_mask:

Classes

struct  reference
 

Public Types

using BitsType = BITS_TYPE
 

Public Member Functions

bool operator[] (id< 1 > id) const
 
reference operator[] (id< 1 > id)
 
bool test (id< 1 > id) const
 
bool all () const
 
bool any () const
 
bool none () const
 
uint32_t count () const
 
uint32_t size () const
 
id< 1 > find_low () const
 
id< 1 > find_high () const
 
template<typename Type , typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void insert_bits (Type bits, id< 1 > pos=0)
 
template<typename Type , size_t Size, typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void insert_bits (const marray< Type, Size > &bits, id< 1 > pos=0)
 
template<typename Type , typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void extract_bits (Type &bits, id< 1 > pos=0) const
 
template<typename Type , size_t Size, typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void extract_bits (marray< Type, Size > &bits, id< 1 > pos=0) const
 
void set ()
 
void set (id< 1 > id, bool value=true)
 
void reset ()
 
void reset (id< 1 > id)
 
void reset_low ()
 
void reset_high ()
 
void flip ()
 
void flip (id< 1 > id)
 
bool operator== (const sub_group_mask &rhs) const
 
bool operator!= (const sub_group_mask &rhs) const
 
sub_group_maskoperator&= (const sub_group_mask &rhs)
 
sub_group_maskoperator|= (const sub_group_mask &rhs)
 
sub_group_maskoperator^= (const sub_group_mask &rhs)
 
sub_group_maskoperator<<= (size_t pos)
 
sub_group_maskoperator>>= (size_t pos)
 
sub_group_mask operator~ () const
 
sub_group_mask operator<< (size_t pos) const
 
sub_group_mask operator>> (size_t pos) const
 
 sub_group_mask (const sub_group_mask &rhs)
 

Static Public Attributes

static constexpr size_t max_bits
 
static constexpr size_t word_size = sizeof(uint32_t) * CHAR_BIT
 

Friends

class detail::Builder
 
template<typename Group >
detail::enable_if_t< std::is_same< std::decay_t< Group >, sub_group >::value, sub_group_maskgroup_ballot (Group g, bool predicate)
 
sub_group_mask operator& (const sub_group_mask &lhs, const sub_group_mask &rhs)
 
sub_group_mask operator| (const sub_group_mask &lhs, const sub_group_mask &rhs)
 
sub_group_mask operator^ (const sub_group_mask &lhs, const sub_group_mask &rhs)
 

Detailed Description

Definition at line 32 of file sub_group_mask.hpp.

Member Typedef Documentation

◆ BitsType

Constructor & Destructor Documentation

◆ sub_group_mask()

sycl::_V1::ext::oneapi::sub_group_mask::sub_group_mask ( const sub_group_mask rhs)
inline

Definition at line 222 of file sub_group_mask.hpp.

Member Function Documentation

◆ all()

bool sycl::_V1::ext::oneapi::sub_group_mask::all ( ) const
inline

Definition at line 78 of file sub_group_mask.hpp.

◆ any()

bool sycl::_V1::ext::oneapi::sub_group_mask::any ( ) const
inline

Definition at line 79 of file sub_group_mask.hpp.

◆ count()

uint32_t sycl::_V1::ext::oneapi::sub_group_mask::count ( ) const
inline

Definition at line 81 of file sub_group_mask.hpp.

◆ extract_bits() [1/2]

template<typename Type , size_t Size, typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void sycl::_V1::ext::oneapi::sub_group_mask::extract_bits ( marray< Type, Size > &  bits,
id< 1 >  pos = 0 
) const
inline

Definition at line 156 of file sub_group_mask.hpp.

◆ extract_bits() [2/2]

template<typename Type , typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void sycl::_V1::ext::oneapi::sub_group_mask::extract_bits ( Type &  bits,
id< 1 >  pos = 0 
) const
inline

Definition at line 137 of file sub_group_mask.hpp.

◆ find_high()

id<1> sycl::_V1::ext::oneapi::sub_group_mask::find_high ( ) const
inline

◆ find_low()

id<1> sycl::_V1::ext::oneapi::sub_group_mask::find_low ( ) const
inline

Definition at line 91 of file sub_group_mask.hpp.

◆ flip() [1/2]

void sycl::_V1::ext::oneapi::sub_group_mask::flip ( )
inline

Definition at line 174 of file sub_group_mask.hpp.

Referenced by operator~().

◆ flip() [2/2]

void sycl::_V1::ext::oneapi::sub_group_mask::flip ( id< 1 >  id)
inline

◆ insert_bits() [1/2]

template<typename Type , size_t Size, typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void sycl::_V1::ext::oneapi::sub_group_mask::insert_bits ( const marray< Type, Size > &  bits,
id< 1 >  pos = 0 
)
inline

Definition at line 125 of file sub_group_mask.hpp.

◆ insert_bits() [2/2]

template<typename Type , typename = sycl::detail::enable_if_t<std::is_integral<Type>::value>>
void sycl::_V1::ext::oneapi::sub_group_mask::insert_bits ( Type  bits,
id< 1 >  pos = 0 
)
inline

Definition at line 106 of file sub_group_mask.hpp.

◆ none()

bool sycl::_V1::ext::oneapi::sub_group_mask::none ( ) const
inline

Definition at line 80 of file sub_group_mask.hpp.

◆ operator!=()

bool sycl::_V1::ext::oneapi::sub_group_mask::operator!= ( const sub_group_mask rhs) const
inline

Definition at line 178 of file sub_group_mask.hpp.

◆ operator&=()

sub_group_mask& sycl::_V1::ext::oneapi::sub_group_mask::operator&= ( const sub_group_mask rhs)
inline

Definition at line 180 of file sub_group_mask.hpp.

◆ operator<<()

sub_group_mask sycl::_V1::ext::oneapi::sub_group_mask::operator<< ( size_t  pos) const
inline

Definition at line 211 of file sub_group_mask.hpp.

◆ operator<<=()

sub_group_mask& sycl::_V1::ext::oneapi::sub_group_mask::operator<<= ( size_t  pos)
inline

Definition at line 195 of file sub_group_mask.hpp.

◆ operator==()

bool sycl::_V1::ext::oneapi::sub_group_mask::operator== ( const sub_group_mask rhs) const
inline

Definition at line 177 of file sub_group_mask.hpp.

◆ operator>>()

sub_group_mask sycl::_V1::ext::oneapi::sub_group_mask::operator>> ( size_t  pos) const
inline

Definition at line 216 of file sub_group_mask.hpp.

◆ operator>>=()

sub_group_mask& sycl::_V1::ext::oneapi::sub_group_mask::operator>>= ( size_t  pos)
inline

Definition at line 201 of file sub_group_mask.hpp.

◆ operator[]() [1/2]

reference sycl::_V1::ext::oneapi::sub_group_mask::operator[] ( id< 1 >  id)
inline

Definition at line 76 of file sub_group_mask.hpp.

◆ operator[]() [2/2]

bool sycl::_V1::ext::oneapi::sub_group_mask::operator[] ( id< 1 >  id) const
inline

Definition at line 72 of file sub_group_mask.hpp.

References std::get().

◆ operator^=()

sub_group_mask& sycl::_V1::ext::oneapi::sub_group_mask::operator^= ( const sub_group_mask rhs)
inline

Definition at line 189 of file sub_group_mask.hpp.

◆ operator|=()

sub_group_mask& sycl::_V1::ext::oneapi::sub_group_mask::operator|= ( const sub_group_mask rhs)
inline

Definition at line 184 of file sub_group_mask.hpp.

◆ operator~()

sub_group_mask sycl::_V1::ext::oneapi::sub_group_mask::operator~ ( ) const
inline

Definition at line 206 of file sub_group_mask.hpp.

References flip().

◆ reset() [1/2]

void sycl::_V1::ext::oneapi::sub_group_mask::reset ( )
inline

Definition at line 170 of file sub_group_mask.hpp.

◆ reset() [2/2]

void sycl::_V1::ext::oneapi::sub_group_mask::reset ( id< 1 >  id)
inline

◆ reset_high()

void sycl::_V1::ext::oneapi::sub_group_mask::reset_high ( )
inline

Definition at line 173 of file sub_group_mask.hpp.

◆ reset_low()

void sycl::_V1::ext::oneapi::sub_group_mask::reset_low ( )
inline

Definition at line 172 of file sub_group_mask.hpp.

◆ set() [1/2]

void sycl::_V1::ext::oneapi::sub_group_mask::set ( )
inline

Definition at line 168 of file sub_group_mask.hpp.

◆ set() [2/2]

void sycl::_V1::ext::oneapi::sub_group_mask::set ( id< 1 >  id,
bool  value = true 
)
inline

◆ size()

uint32_t sycl::_V1::ext::oneapi::sub_group_mask::size ( ) const
inline

Definition at line 90 of file sub_group_mask.hpp.

◆ test()

bool sycl::_V1::ext::oneapi::sub_group_mask::test ( id< 1 >  id) const
inline

Friends And Related Function Documentation

◆ detail::Builder

friend class detail::Builder
friend

Definition at line 33 of file sub_group_mask.hpp.

◆ group_ballot

template<typename Group >
detail::enable_if_t< std::is_same<std::decay_t<Group>, sub_group>::value, sub_group_mask> group_ballot ( Group  g,
bool  predicate 
)
friend

Definition at line 270 of file sub_group_mask.hpp.

◆ operator&

sub_group_mask operator& ( const sub_group_mask lhs,
const sub_group_mask rhs 
)
friend

Definition at line 230 of file sub_group_mask.hpp.

◆ operator^

sub_group_mask operator^ ( const sub_group_mask lhs,
const sub_group_mask rhs 
)
friend

Definition at line 244 of file sub_group_mask.hpp.

◆ operator|

sub_group_mask operator| ( const sub_group_mask lhs,
const sub_group_mask rhs 
)
friend

Definition at line 237 of file sub_group_mask.hpp.

Member Data Documentation

◆ max_bits

constexpr size_t sycl::_V1::ext::oneapi::sub_group_mask::max_bits
staticconstexpr
Initial value:
=
sizeof(BitsType) * CHAR_BIT

Definition at line 36 of file sub_group_mask.hpp.

◆ word_size

constexpr size_t sycl::_V1::ext::oneapi::sub_group_mask::word_size = sizeof(uint32_t) * CHAR_BIT
staticconstexpr

Definition at line 38 of file sub_group_mask.hpp.


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