Om  1.0.0
A universal framework for multimedia simulation
Public Member Functions | Static Public Member Functions | Friends | List of all members
om::math::SIMDScalar< Int32, 4 > Class Template Reference

A class representing a 4-component 32-bit signed-integer SIMD scalar. More...

#include <omSIMDScalarInt32_4.h>

Public Member Functions

 SIMDScalar ()
 Define the type for a 4x float scalar structure. More...
 
 SIMDScalar (Int32 value)
 Create a new 4D SIMD scalar with all elements equal to the specified value. More...
 
 SIMDScalar (Int32 newA, Int32 newB, Int32 newC, Int32 newD)
 Create a new 4D SIMD scalar with the elements equal to the specified 4 values. More...
 
 SIMDScalar (const Int32 *array)
 Create a new 4D SIMD scalar from the first 4 values stored at specified pointer's location. More...
 
 SIMDScalar (const SIMDScalar &other)
 Create a new SIMD scalar with the same contents as another. More...
 
SIMDScalaroperator= (const SIMDScalar &other)
 Assign the contents of one SIMDScalar object to another. More...
 
void store (Int32 *destination) const
 
void storeUnaligned (Int32 *destination) const
 
Int32operator[] (Index i)
 Get a reference to the value stored at the specified component index in this scalar. More...
 
Int32 operator[] (Index i) const
 Get the value stored at the specified component index in this scalar. More...
 
const Int32toArray () const
 Get a pointer to the first element in this scalar. More...
 
Int getMask () const
 Return a mask which indicates if high-order bits of each of the components are true. More...
 
 operator Int () const
 Return whether or not any component of this scalar have the high-order bit set. More...
 
 operator Bool () const
 Return whether or not any component of this array has the high-order bit set. More...
 
Bool testMaskAny () const
 Return whether or not any component of this scalar has the high-order bit set. More...
 
Bool testMaskAll () const
 Return whether or not all components of this scalar have the high-order bit set. More...
 
SIMDScalar operator~ () const
 Return the bitwise NOT of this 4D SIMD vector. More...
 
SIMDScalar operator& (const SIMDScalar &vector) const
 Compute the bitwise AND of this 4D SIMD vector with another and return the result. More...
 
SIMDScalar operator| (const SIMDScalar &vector) const
 Compute the bitwise OR of this 4D SIMD vector with another and return the result. More...
 
SIMDScalar operator^ (const SIMDScalar &vector) const
 Compute the bitwise XOR of this 4D SIMD vector with another and return the result. More...
 
SIMDScalaroperator&= (const SIMDScalar &vector)
 Compute the logical AND of this 4D SIMD vector with another and assign it to this vector. More...
 
SIMDScalaroperator|= (const SIMDScalar &vector)
 Compute the logical OR of this 4D SIMD vector with another and assign it to this vector. More...
 
SIMDScalaroperator^= (const SIMDScalar &vector)
 Compute the bitwise XOR of this 4D SIMD vector with another and assign it to this vector. More...
 
SIMDScalar operator== (const SIMDScalar &scalar) const
 Compare two 4D SIMD scalars component-wise for equality. More...
 
SIMDScalar operator== (const Int32 value) const
 Compare this scalar to a single floating point value for equality. More...
 
SIMDScalar operator!= (const SIMDScalar &scalar) const
 Compare two 4D SIMD scalars component-wise for inequality. More...
 
SIMDScalar operator!= (const Int32 value) const
 Compare this scalar to a single floating point value for inequality. More...
 
SIMDScalar operator< (const SIMDScalar &scalar) const
 Perform a component-wise less-than comparison between this an another 4D SIMD scalar. More...
 
SIMDScalar operator< (const Int32 value) const
 Perform a component-wise less-than comparison between this 4D SIMD scalar and an expanded scalar. More...
 
SIMDScalar operator> (const SIMDScalar &scalar) const
 Perform a component-wise greater-than comparison between this an another 4D SIMD scalar. More...
 
SIMDScalar operator> (const Int32 value) const
 Perform a component-wise greater-than comparison between this 4D SIMD scalar and an expanded scalar. More...
 
SIMDScalar operator<= (const SIMDScalar &scalar) const
 Perform a component-wise less-than-or-equal-to comparison between this an another 4D SIMD scalar. More...
 
SIMDScalar operator<= (const Int32 value) const
 Perform a component-wise less-than-or-equal-to comparison between this 4D SIMD scalar and an expanded scalar. More...
 
SIMDScalar operator>= (const SIMDScalar &scalar) const
 Perform a component-wise greater-than-or-equal-to comparison between this an another 4D SIMD scalar. More...
 
SIMDScalar operator>= (const Int32 value) const
 Perform a component-wise greater-than-or-equal-to comparison between this 4D SIMD scalar and an expanded scalar. More...
 
SIMDScalar operator<< (Int32 bitShift) const
 Shift each component of the SIMD scalar to the left by the specified amount of bits. More...
 
SIMDScalar operator>> (Int32 bitShift) const
 Shift each component of the SIMD scalar to the right by the specified amount of bits. More...
 
SIMDScalar operator- () const
 Negate a scalar. More...
 
SIMDScalar operator+ (const SIMDScalar &scalar) const
 Add this scalar to another and return the result. More...
 
SIMDScalar operator+ (const Int32 value) const
 Add a value to every component of this scalar. More...
 
SIMDScalar operator- (const SIMDScalar &scalar) const
 Subtract a scalar from this scalar component-wise and return the result. More...
 
SIMDScalar operator- (const Int32 value) const
 Subtract a value from every component of this scalar. More...
 
SIMDScalar operator* (const SIMDScalar &scalar) const
 Multiply component-wise this scalar and another scalar. More...
 
SIMDScalar operator* (const Int32 value) const
 Multiply every component of this scalar by a value and return the result. More...
 
SIMDScalar operator/ (const SIMDScalar &scalar) const
 Divide this scalar by another scalar component-wise. More...
 
SIMDScalar operator/ (const Int32 value) const
 Divide every component of this scalar by a value and return the result. More...
 
SIMDScalaroperator+= (const SIMDScalar &scalar)
 Add a scalar to this scalar, modifying this original scalar. More...
 
SIMDScalaroperator-= (const SIMDScalar &scalar)
 Subtract a scalar from this scalar, modifying this original scalar. More...
 
SIMDScalaroperator*= (const SIMDScalar &scalar)
 Multiply component-wise this scalar and another scalar and modify this scalar. More...
 
SIMDScalaroperator/= (const SIMDScalar &scalar)
 Divide this scalar by another scalar component-wise and modify this scalar. More...
 
data::String toString () const
 Convert this SIMD scalar into a human-readable string representation. More...
 
 operator data::String () const
 Convert this SIMD scalar into a human-readable string representation. More...
 

Static Public Member Functions

static SIMDScalar load (const Int32 *array)
 
static SIMDScalar loadUnaligned (const Int32 *array)
 
static Size getAlignment ()
 Return the alignment required for objects of this type. More...
 
static Size getWidth ()
 Get the width of this scalar (number of components it has). More...
 
static Bool isSupported ()
 Return whether or not this SIMD type is supported by the current CPU. More...
 

Friends

SIMDScalar abs (const SIMDScalar &scalar)
 
SIMDScalar sqrt (const SIMDScalar &scalar)
 
SIMDScalar min (const SIMDScalar &scalar1, const SIMDScalar &scalar2)
 
SIMDScalar max (const SIMDScalar &scalar1, const SIMDScalar &scalar2)
 
template<UInt i1, UInt i2, UInt i3, UInt i4>
SIMDScalar shuffle (const SIMDScalar &scalar1)
 
template<UInt i1, UInt i2, UInt i3, UInt i4>
SIMDScalar shuffle (const SIMDScalar &scalar1, const SIMDScalar &scalar2)
 
SIMDScalar select (const SIMDScalar &selector, const SIMDScalar &scalar1, const SIMDScalar &scalar2)
 
SIMDScalar< Float32, 4 > select (const SIMDScalar &selector, const SIMDScalar< Float32, 4 > &scalar1, const SIMDScalar< Float32, 4 > &scalar2)
 
SIMDScalar lows (const SIMDScalar &scalar)
 
SIMDScalar highs (const SIMDScalar &scalar)
 

Detailed Description

template<>
class om::math::SIMDScalar< Int32, 4 >

A class representing a 4-component 32-bit signed-integer SIMD scalar.

This specialization of the SIMDScalar class uses a 128-bit value to encode 4 32-bit signed-integer values. All basic arithmetic operations are supported, plus a subset of standard scalar operations: abs(), min(), max(), sqrt().

Constructor & Destructor Documentation

Define the type for a 4x float scalar structure.

Create a new 4D SIMD scalar with all elements left uninitialized.

om::math::SIMDScalar< Int32, 4 >::SIMDScalar ( Int32  value)
inline

Create a new 4D SIMD scalar with all elements equal to the specified value.

om::math::SIMDScalar< Int32, 4 >::SIMDScalar ( Int32  newA,
Int32  newB,
Int32  newC,
Int32  newD 
)
inline

Create a new 4D SIMD scalar with the elements equal to the specified 4 values.

om::math::SIMDScalar< Int32, 4 >::SIMDScalar ( const Int32 array)
inline

Create a new 4D SIMD scalar from the first 4 values stored at specified pointer's location.

om::math::SIMDScalar< Int32, 4 >::SIMDScalar ( const SIMDScalar< Int32, 4 > &  other)
inline

Create a new SIMD scalar with the same contents as another.

This shouldn't have to be overloaded, but for some reason the compiler (GCC) optimizes SIMD code better with it overloaded. Before, the compiler would store the result of a SIMD operation on the stack before transfering it to the destination, resulting in an extra 8+ load/stores per computation.

Member Function Documentation

SIMDScalar& om::math::SIMDScalar< Int32, 4 >::operator= ( const SIMDScalar< Int32, 4 > &  other)
inline

Assign the contents of one SIMDScalar object to another.

This shouldn't have to be overloaded, but for some reason the compiler (GCC) optimizes SIMD code better with it overloaded. Before, the compiler would store the result of a SIMD operation on the stack before transfering it to the destination, resulting in an extra 8+ load/stores per computation.

static SIMDScalar om::math::SIMDScalar< Int32, 4 >::load ( const Int32 array)
inlinestatic
static SIMDScalar om::math::SIMDScalar< Int32, 4 >::loadUnaligned ( const Int32 array)
inlinestatic
void om::math::SIMDScalar< Int32, 4 >::store ( Int32 destination) const
inline
void om::math::SIMDScalar< Int32, 4 >::storeUnaligned ( Int32 destination) const
inline
Int32& om::math::SIMDScalar< Int32, 4 >::operator[] ( Index  i)
inline

Get a reference to the value stored at the specified component index in this scalar.

Int32 om::math::SIMDScalar< Int32, 4 >::operator[] ( Index  i) const
inline

Get the value stored at the specified component index in this scalar.

const Int32* om::math::SIMDScalar< Int32, 4 >::toArray ( ) const
inline

Get a pointer to the first element in this scalar.

The remaining values are in the next 3 locations after the first element.

Int om::math::SIMDScalar< Int32, 4 >::getMask ( ) const
inline

Return a mask which indicates if high-order bits of each of the components are true.

om::math::SIMDScalar< Int32, 4 >::operator Int ( ) const
inline

Return whether or not any component of this scalar have the high-order bit set.

om::math::SIMDScalar< Int32, 4 >::operator Bool ( ) const
inline

Return whether or not any component of this array has the high-order bit set.

Bool om::math::SIMDScalar< Int32, 4 >::testMaskAny ( ) const
inline

Return whether or not any component of this scalar has the high-order bit set.

Bool om::math::SIMDScalar< Int32, 4 >::testMaskAll ( ) const
inline

Return whether or not all components of this scalar have the high-order bit set.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator~ ( ) const
inline

Return the bitwise NOT of this 4D SIMD vector.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator& ( const SIMDScalar< Int32, 4 > &  vector) const
inline

Compute the bitwise AND of this 4D SIMD vector with another and return the result.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator| ( const SIMDScalar< Int32, 4 > &  vector) const
inline

Compute the bitwise OR of this 4D SIMD vector with another and return the result.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator^ ( const SIMDScalar< Int32, 4 > &  vector) const
inline

Compute the bitwise XOR of this 4D SIMD vector with another and return the result.

SIMDScalar& om::math::SIMDScalar< Int32, 4 >::operator&= ( const SIMDScalar< Int32, 4 > &  vector)
inline

Compute the logical AND of this 4D SIMD vector with another and assign it to this vector.

SIMDScalar& om::math::SIMDScalar< Int32, 4 >::operator|= ( const SIMDScalar< Int32, 4 > &  vector)
inline

Compute the logical OR of this 4D SIMD vector with another and assign it to this vector.

SIMDScalar& om::math::SIMDScalar< Int32, 4 >::operator^= ( const SIMDScalar< Int32, 4 > &  vector)
inline

Compute the bitwise XOR of this 4D SIMD vector with another and assign it to this vector.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator== ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Compare two 4D SIMD scalars component-wise for equality.

Return a 4D scalar of booleans indicating the result of the comparison. If each corresponding pair of components is equal, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator== ( const Int32  value) const
inline

Compare this scalar to a single floating point value for equality.

Return a 4D scalar of booleans indicating the result of the comparison. The float value is expanded to a 4-wide SIMD scalar and compared with this scalar. If each corresponding pair of components is equal, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator!= ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Compare two 4D SIMD scalars component-wise for inequality.

Return a 4D scalar of booleans indicating the result of the comparison. If each corresponding pair of components is not equal, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator!= ( const Int32  value) const
inline

Compare this scalar to a single floating point value for inequality.

Return a 4D scalar of booleans indicating the result of the comparison. The float value is expanded to a 4-wide SIMD scalar and compared with this scalar. If each corresponding pair of components is not equal, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator< ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Perform a component-wise less-than comparison between this an another 4D SIMD scalar.

Return a 4D scalar of booleans indicating the result of the comparison. If each corresponding pair of components has this scalar's component less than the other scalar's component, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator< ( const Int32  value) const
inline

Perform a component-wise less-than comparison between this 4D SIMD scalar and an expanded scalar.

Return a 4D scalar of booleans indicating the result of the comparison. The float value is expanded to a 4-wide SIMD scalar and compared with this scalar. If each corresponding pair of components has this scalar's component less than the other scalar's component, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator> ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Perform a component-wise greater-than comparison between this an another 4D SIMD scalar.

Return a 4D scalar of booleans indicating the result of the comparison. If each corresponding pair of components has this scalar's component greater than the other scalar's component, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator> ( const Int32  value) const
inline

Perform a component-wise greater-than comparison between this 4D SIMD scalar and an expanded scalar.

Return a 4D scalar of booleans indicating the result of the comparison. The float value is expanded to a 4-wide SIMD scalar and compared with this scalar. If each corresponding pair of components has this scalar's component greater than the other scalar's component, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator<= ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Perform a component-wise less-than-or-equal-to comparison between this an another 4D SIMD scalar.

Return a 4D scalar of booleans indicating the result of the comparison. If each corresponding pair of components has this scalar's component less than or equal to the other scalar's component, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator<= ( const Int32  value) const
inline

Perform a component-wise less-than-or-equal-to comparison between this 4D SIMD scalar and an expanded scalar.

Return a 4D scalar of booleans indicating the result of the comparison. The float value is expanded to a 4-wide SIMD scalar and compared with this scalar. If each corresponding pair of components has this scalar's component less than or equal to the other scalar's component, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator>= ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Perform a component-wise greater-than-or-equal-to comparison between this an another 4D SIMD scalar.

Return a 4D scalar of booleans indicating the result of the comparison. If each corresponding pair of components has this scalar's component greater than or equal to the other scalar's component, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator>= ( const Int32  value) const
inline

Perform a component-wise greater-than-or-equal-to comparison between this 4D SIMD scalar and an expanded scalar.

Return a 4D scalar of booleans indicating the result of the comparison. The float value is expanded to a 4-wide SIMD scalar and compared with this scalar. If each corresponding pair of components has this scalar's component greater than or equal to the other scalar's component, the corresponding result component is non-zero. Otherwise, that result component is equal to zero.

SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator<< ( Int32  bitShift) const
inline

Shift each component of the SIMD scalar to the left by the specified amount of bits.

This method shifts the contents of each component to the left by the specified amount of bits and inserts zeros.

Parameters
bitShift- the number of bits to shift this SIMD scalar by.
Returns
the shifted SIMD scalar.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator>> ( Int32  bitShift) const
inline

Shift each component of the SIMD scalar to the right by the specified amount of bits.

This method shifts the contents of each component to the right by the specified amount of bits and sign extends the original values..

Parameters
bitShift- the number of bits to shift this SIMD scalar by.
Returns
the shifted SIMD scalar.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator- ( ) const
inline

Negate a scalar.

This method negates every component of this 4D SIMD scalar and returns the result, leaving this scalar unmodified.

Returns
the negation of the original scalar.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator+ ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Add this scalar to another and return the result.

This method adds another scalar to this one, component-wise, and returns this addition. It does not modify either of the original scalars.

Parameters
scalar- The scalar to add to this one.
Returns
The addition of this scalar and the parameter.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator+ ( const Int32  value) const
inline

Add a value to every component of this scalar.

This method adds the value parameter to every component of the scalar, and returns a scalar representing this result. It does not modifiy the original scalar.

Parameters
value- The value to add to all components of this scalar.
Returns
The resulting scalar of this addition.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator- ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Subtract a scalar from this scalar component-wise and return the result.

This method subtracts another scalar from this one, component-wise, and returns this subtraction. It does not modify either of the original scalars.

Parameters
scalar- The scalar to subtract from this one.
Returns
The subtraction of the the parameter from this scalar.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator- ( const Int32  value) const
inline

Subtract a value from every component of this scalar.

This method subtracts the value parameter from every component of the scalar, and returns a scalar representing this result. It does not modifiy the original scalar.

Parameters
value- The value to subtract from all components of this scalar.
Returns
The resulting scalar of this subtraction.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator* ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Multiply component-wise this scalar and another scalar.

This operator multiplies each component of this scalar by the corresponding component of the other scalar and returns a scalar representing this result. It does not modify either original scalar.

Parameters
scalar- The scalar to multiply this scalar by.
Returns
The result of the multiplication.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator* ( const Int32  value) const
inline

Multiply every component of this scalar by a value and return the result.

This method multiplies the value parameter with every component of the scalar, and returns a scalar representing this result. It does not modifiy the original scalar.

Parameters
value- The value to multiplly with all components of this scalar.
Returns
The resulting scalar of this multiplication.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator/ ( const SIMDScalar< Int32, 4 > &  scalar) const
inline

Divide this scalar by another scalar component-wise.

This operator divides each component of this scalar by the corresponding component of the other scalar and returns a scalar representing this result. It does not modify either original scalar.

Parameters
scalar- The scalar to multiply this scalar by.
Returns
The result of the division.
SIMDScalar om::math::SIMDScalar< Int32, 4 >::operator/ ( const Int32  value) const
inline

Divide every component of this scalar by a value and return the result.

This method Divides every component of the scalar by the value parameter, and returns a scalar representing this result. It does not modifiy the original scalar.

Parameters
value- The value to divide all components of this scalar by.
Returns
The resulting scalar of this division.
SIMDScalar& om::math::SIMDScalar< Int32, 4 >::operator+= ( const SIMDScalar< Int32, 4 > &  scalar)
inline

Add a scalar to this scalar, modifying this original scalar.

This method adds another scalar to this scalar, component-wise, and sets this scalar to have the result of this addition.

Parameters
scalar- The scalar to add to this scalar.
Returns
A reference to this modified scalar.
SIMDScalar& om::math::SIMDScalar< Int32, 4 >::operator-= ( const SIMDScalar< Int32, 4 > &  scalar)
inline

Subtract a scalar from this scalar, modifying this original scalar.

This method subtracts another scalar from this scalar, component-wise, and sets this scalar to have the result of this subtraction.

Parameters
scalar- The scalar to subtract from this scalar.
Returns
A reference to this modified scalar.
SIMDScalar& om::math::SIMDScalar< Int32, 4 >::operator*= ( const SIMDScalar< Int32, 4 > &  scalar)
inline

Multiply component-wise this scalar and another scalar and modify this scalar.

This operator multiplies each component of this scalar by the corresponding component of the other scalar and modifies this scalar to contain the result.

Parameters
scalar- The scalar to multiply this scalar by.
Returns
A reference to this modified scalar.
SIMDScalar& om::math::SIMDScalar< Int32, 4 >::operator/= ( const SIMDScalar< Int32, 4 > &  scalar)
inline

Divide this scalar by another scalar component-wise and modify this scalar.

This operator divides each component of this scalar by the corresponding component of the other scalar and modifies this scalar to contain the result.

Parameters
scalar- The scalar to divide this scalar by.
Returns
A reference to this modified scalar.
static Size om::math::SIMDScalar< Int32, 4 >::getAlignment ( )
inlinestatic

Return the alignment required for objects of this type.

For most SIMD types this value will be 16 bytes. If there is no alignment required, 0 is returned.

static Size om::math::SIMDScalar< Int32, 4 >::getWidth ( )
inlinestatic

Get the width of this scalar (number of components it has).

static Bool om::math::SIMDScalar< Int32, 4 >::isSupported ( )
inlinestatic

Return whether or not this SIMD type is supported by the current CPU.

data::String om::math::SIMDScalar< Int32, 4 >::toString ( ) const
inline

Convert this SIMD scalar into a human-readable string representation.

om::math::SIMDScalar< Int32, 4 >::operator data::String ( ) const
inline

Convert this SIMD scalar into a human-readable string representation.

Friends And Related Function Documentation

SIMDScalar abs ( const SIMDScalar< Int32, 4 > &  scalar)
friend
SIMDScalar sqrt ( const SIMDScalar< Int32, 4 > &  scalar)
friend
SIMDScalar min ( const SIMDScalar< Int32, 4 > &  scalar1,
const SIMDScalar< Int32, 4 > &  scalar2 
)
friend
SIMDScalar max ( const SIMDScalar< Int32, 4 > &  scalar1,
const SIMDScalar< Int32, 4 > &  scalar2 
)
friend
template<UInt i1, UInt i2, UInt i3, UInt i4>
SIMDScalar shuffle ( const SIMDScalar< Int32, 4 > &  scalar1)
friend
template<UInt i1, UInt i2, UInt i3, UInt i4>
SIMDScalar shuffle ( const SIMDScalar< Int32, 4 > &  scalar1,
const SIMDScalar< Int32, 4 > &  scalar2 
)
friend
SIMDScalar select ( const SIMDScalar< Int32, 4 > &  selector,
const SIMDScalar< Int32, 4 > &  scalar1,
const SIMDScalar< Int32, 4 > &  scalar2 
)
friend
SIMDScalar<Float32,4> select ( const SIMDScalar< Int32, 4 > &  selector,
const SIMDScalar< Float32, 4 > &  scalar1,
const SIMDScalar< Float32, 4 > &  scalar2 
)
friend
SIMDScalar lows ( const SIMDScalar< Int32, 4 > &  scalar)
friend
SIMDScalar highs ( const SIMDScalar< Int32, 4 > &  scalar)
friend

Member Data Documentation

The A component of a 4D SIMD scalar.

The B component of a 4D SIMD scalar.

The C component of a 4D SIMD scalar.

The D component of a 4D SIMD scalar.

The components of a 4D SIMD scalar in array format.


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