Generic SIMD Intrinsic Library API  0.6
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
generic::svec< 8, bool > Struct Template Reference

Data representation and operations on a vector of 8 boolean values. This is used in predicated vector operations. Specifically the ith value of svec<8,bool> indicates whether the ith lane of a predicated vector operation is enabled or not. More...

#include <generic8.h>

Classes

struct  Helper
 A special helper class to support customized subscript[] operations. More...
 

Public Member Functions

 svec ()
 Default constructor. More...
 
 svec (uint32_t a, uint32_t b, uint32_t c, uint32_t d, uint32_t e, uint32_t f, uint32_t g, uint32_t h)
 Constructor. More...
 
 svec (uint32_t a)
 Constructor. More...
 
Helper operator[] (int index)
 
const uint32_t operator[] (int index) const
 
svec< 8,bool > operator== (svec< 8, bool > a)
 
svec< 8,bool > operator!= (svec< 8, bool > a)
 
void store (svec< 8, bool > *p)
 Store the vector to address p. More...
 
bool any_true ()
 
bool all_true ()
 
bool none_true ()
 
svec< 8,bool > operator| (svec< 8, bool >)
 
svec< 8,bool > operator& (svec< 8, bool > a)
 
svec< 8,bool > operator^ (svec< 8, bool > a)
 
svec< 8,bool > operator~ ()
 
svec< 8,bool > operator! ()
 
svec< 8,bool > operator&& (svec< 8, bool > a)
 
svec< 8,bool > operator|| (svec< 8, bool > a)
 

Static Public Member Functions

static svec< 8,bool > load (svec< 8, bool > *p)
 load the vector from the pointer p More...
 

Public Attributes

uint32_t v
 

Friends

std::ostream & operator<< (std::ostream &out, const svec< 8, bool > &v)
 

Detailed Description

template<>
struct generic::svec< 8, bool >

Data representation and operations on a vector of 8 boolean values. This is used in predicated vector operations. Specifically the ith value of svec<8,bool> indicates whether the ith lane of a predicated vector operation is enabled or not.

See also gather, scatter, load, store, and compare operations.

Constructor & Destructor Documentation

generic::svec< 8, bool >::svec ( )

Default constructor.

Returns
a vector of 8 undefined values.
generic::svec< 8, bool >::svec ( uint32_t  a,
uint32_t  b,
uint32_t  c,
uint32_t  d,
uint32_t  e,
uint32_t  f,
uint32_t  g,
uint32_t  h 
)

Constructor.

Parameters
[in]a,b,c,dboolean values
Note
a,b,c,d must be either 0 or -1
Returns
a vector of 8 mask/booleans: {a,b,c,d,e,f,g,h}.
generic::svec< 8, bool >::svec ( uint32_t  a)

Constructor.

Parameters
[in]aa boolean value
Note
a must be either 0 or -1
Returns
a vector of 8 mask/booleans: {a,a,a,a,a,a,a,a}a,a,a}.

Member Function Documentation

bool generic::svec< 8, bool >::all_true ( )
bool generic::svec< 8, bool >::any_true ( )
svec< 8, bool > generic::svec< 8, bool >::load ( svec< 8, bool > *  p)
static

load the vector from the pointer p

Parameters
[in]pload address
Note
p does not have to be aligned
Returns
no return value. This vector is updated with value loaded from p.
bool generic::svec< 8, bool >::none_true ( )
svec< 8 ,bool> generic::svec< 8, bool >::operator! ( )
svec< 8 ,bool> generic::svec< 8, bool >::operator!= ( svec< 8, bool >  a)
svec< 8 ,bool> generic::svec< 8, bool >::operator& ( svec< 8, bool >  a)
svec< 8 ,bool> generic::svec< 8, bool >::operator&& ( svec< 8, bool >  a)
svec< 8 ,bool> generic::svec< 8, bool >::operator== ( svec< 8, bool >  a)
Helper generic::svec< 8, bool >::operator[] ( int  index)
const uint32_t generic::svec< 8, bool >::operator[] ( int  index) const
svec< 8 ,bool> generic::svec< 8, bool >::operator^ ( svec< 8, bool >  a)
svec< 8 ,bool> generic::svec< 8, bool >::operator| ( svec< 8, bool >  )
svec< 8 ,bool> generic::svec< 8, bool >::operator|| ( svec< 8, bool >  a)
svec< 8 ,bool> generic::svec< 8, bool >::operator~ ( )
void generic::svec< 8, bool >::store ( svec< 8, bool > *  p)

Store the vector to address p.

Parameters
[in]pstore address
Note
p does not have to be aligned

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  out,
const svec< 8, bool > &  v 
)
friend

Member Data Documentation

uint32_t generic::svec< 8, bool >::v

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