Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mitsuba::math::SSEVector4i Struct Reference

#include <mitsuba/core/ssevector.h>

Public Member Functions

 SSEVector4i ()
 
 SSEVector4i (const SSEVector4i &val)
 
 SSEVector4i (__m128i val)
 
 SSEVector4i (int32_t val)
 
 SSEVector4i (int32_t i3, int32_t i2, int32_t i1, int32_t i0)
 
SSEVector4ioperator= (int32_t val)
 
 operator __m128i () const
 
SSEVector4ioperator&= (const SSEVector4i &a)
 
SSEVector4ioperator|= (const SSEVector4i &a)
 
SSEVector4ioperator^= (const SSEVector4i &a)
 
SSEVector4ioperator+= (const SSEVector4i &a)
 
SSEVector4ioperator-= (const SSEVector4i &a)
 
bool isZero () const
 Test if all elements are zero. More...
 

Static Public Member Functions

static SSEVector4i zero ()
 
template<int32_t i3, int32_t i2, int32_t i1, int32_t i0>
static const __m128i & constant ()
 
template<int32_t value>
static const __m128i & constant ()
 

Friends

SSEVector4i operator& (const SSEVector4i &a, const SSEVector4i &b)
 
SSEVector4i operator| (const SSEVector4i &a, const SSEVector4i &b)
 
SSEVector4i operator^ (const SSEVector4i &a, const SSEVector4i &b)
 
SSEVector4i andnot (const SSEVector4i &a, const SSEVector4i &b)
 ~a & b More...
 
SSEVector4i operator+ (const SSEVector4i &a, const SSEVector4i &b)
 
SSEVector4i operator- (const SSEVector4i &a, const SSEVector4i &b)
 
SSEVector4i cmpeq (const SSEVector4i &a, const SSEVector4i &b)
 a == b More...
 
SSEVector4i cmplt (const SSEVector4i &a, const SSEVector4i &b)
 a < b More...
 
SSEVector4i cmpgt (const SSEVector4i &a, const SSEVector4i &b)
 a > b More...
 
SSEVector4i operator== (const SSEVector4i &a, const SSEVector4i &b)
 
SSEVector4i operator< (const SSEVector4i &a, const SSEVector4i &b)
 
SSEVector4i operator> (const SSEVector4i &a, const SSEVector4i &b)
 
SSEVector4i select (const SSEVector4i &mask, const SSEVector4i &a, const SSEVector4i &b)
 Select/blend: (mask) ? a : b More...
 
SSEVector4i srl (const SSEVector4i &a, int count)
 Shift right by count bits while shifting in zeros. More...
 
SSEVector4i sll (const SSEVector4i &a, int count)
 Shift left by count bits while shifting in zeros. More...
 
void stream (SSEVector4i *dest, const SSEVector4i &value)
 Save to dest without polluting the cache. More...
 
void stream (__m128i *dest, const SSEVector4i &value)
 Save to dest without polluting the cache. More...
 

Constructor & Destructor Documentation

mitsuba::math::SSEVector4i::SSEVector4i ( )
inline
mitsuba::math::SSEVector4i::SSEVector4i ( const SSEVector4i val)
inline
mitsuba::math::SSEVector4i::SSEVector4i ( __m128i  val)
inline
mitsuba::math::SSEVector4i::SSEVector4i ( int32_t  val)
inlineexplicit
mitsuba::math::SSEVector4i::SSEVector4i ( int32_t  i3,
int32_t  i2,
int32_t  i1,
int32_t  i0 
)
inline

Member Function Documentation

template<int32_t i3, int32_t i2, int32_t i1, int32_t i0>
static const __m128i& mitsuba::math::SSEVector4i::constant ( )
inlinestatic
template<int32_t value>
static const __m128i& mitsuba::math::SSEVector4i::constant ( )
inlinestatic
bool mitsuba::math::SSEVector4i::isZero ( ) const
inline

Test if all elements are zero.

mitsuba::math::SSEVector4i::operator __m128i ( ) const
inline
SSEVector4i& mitsuba::math::SSEVector4i::operator&= ( const SSEVector4i a)
inline
SSEVector4i& mitsuba::math::SSEVector4i::operator+= ( const SSEVector4i a)
inline
SSEVector4i& mitsuba::math::SSEVector4i::operator-= ( const SSEVector4i a)
inline
SSEVector4i& mitsuba::math::SSEVector4i::operator= ( int32_t  val)
inline
SSEVector4i& mitsuba::math::SSEVector4i::operator^= ( const SSEVector4i a)
inline
SSEVector4i& mitsuba::math::SSEVector4i::operator|= ( const SSEVector4i a)
inline
static SSEVector4i mitsuba::math::SSEVector4i::zero ( )
inlinestatic

Friends And Related Function Documentation

SSEVector4i andnot ( const SSEVector4i a,
const SSEVector4i b 
)
friend

~a & b

SSEVector4i cmpeq ( const SSEVector4i a,
const SSEVector4i b 
)
friend

a == b

SSEVector4i cmpgt ( const SSEVector4i a,
const SSEVector4i b 
)
friend

a > b

SSEVector4i cmplt ( const SSEVector4i a,
const SSEVector4i b 
)
friend

a < b

SSEVector4i operator& ( const SSEVector4i a,
const SSEVector4i b 
)
friend
SSEVector4i operator+ ( const SSEVector4i a,
const SSEVector4i b 
)
friend
SSEVector4i operator- ( const SSEVector4i a,
const SSEVector4i b 
)
friend
SSEVector4i operator< ( const SSEVector4i a,
const SSEVector4i b 
)
friend
SSEVector4i operator== ( const SSEVector4i a,
const SSEVector4i b 
)
friend
SSEVector4i operator> ( const SSEVector4i a,
const SSEVector4i b 
)
friend
SSEVector4i operator^ ( const SSEVector4i a,
const SSEVector4i b 
)
friend
SSEVector4i operator| ( const SSEVector4i a,
const SSEVector4i b 
)
friend
SSEVector4i select ( const SSEVector4i mask,
const SSEVector4i a,
const SSEVector4i b 
)
friend

Select/blend: (mask) ? a : b

SSEVector4i sll ( const SSEVector4i a,
int  count 
)
friend

Shift left by count bits while shifting in zeros.

SSEVector4i srl ( const SSEVector4i a,
int  count 
)
friend

Shift right by count bits while shifting in zeros.

void stream ( SSEVector4i dest,
const SSEVector4i value 
)
friend

Save to dest without polluting the cache.

void stream ( __m128i *  dest,
const SSEVector4i value 
)
friend

Save to dest without polluting the cache.


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