Mathter
A configurable 3D math library for game developers.
Static Public Member Functions | Public Attributes | List of all members
mathter::Simd< float, 4 > Union Template Reference

#include <Simd_SSE2.hpp>

Static Public Member Functions

static Simd mul (const Simd &lhs, const Simd &rhs)
 
static Simd div (const Simd &lhs, const Simd &rhs)
 
static Simd add (const Simd &lhs, const Simd &rhs)
 
static Simd sub (const Simd &lhs, const Simd &rhs)
 
static Simd mul (const Simd &lhs, float rhs)
 
static Simd div (const Simd &lhs, float rhs)
 
static Simd add (const Simd &lhs, float rhs)
 
static Simd sub (const Simd &lhs, float rhs)
 
static Simd mad (const Simd &a, const Simd &b, const Simd &c)
 
static Simd spread (float value)
 
static Simd set (float x, float y, float z, float w)
 
template<int Count>
static float dot (const Simd &lhs, const Simd &rhs)
 
template<int i0, int i1, int i2, int i3>
static Simd shuffle (const Simd &arg)
 

Public Attributes

__m128 reg
 
__m128i regi
 
float v [4]
 

Member Function Documentation

◆ add() [1/2]

static Simd mathter::Simd< float, 4 >::add ( const Simd< float, 4 > &  lhs,
const Simd< float, 4 > &  rhs 
)
inlinestatic

◆ add() [2/2]

static Simd mathter::Simd< float, 4 >::add ( const Simd< float, 4 > &  lhs,
float  rhs 
)
inlinestatic

◆ div() [1/2]

static Simd mathter::Simd< float, 4 >::div ( const Simd< float, 4 > &  lhs,
const Simd< float, 4 > &  rhs 
)
inlinestatic

◆ div() [2/2]

static Simd mathter::Simd< float, 4 >::div ( const Simd< float, 4 > &  lhs,
float  rhs 
)
inlinestatic

◆ dot()

template<int Count>
static float mathter::Simd< float, 4 >::dot ( const Simd< float, 4 > &  lhs,
const Simd< float, 4 > &  rhs 
)
inlinestatic

◆ mad()

static Simd mathter::Simd< float, 4 >::mad ( const Simd< float, 4 > &  a,
const Simd< float, 4 > &  b,
const Simd< float, 4 > &  c 
)
inlinestatic

◆ mul() [1/2]

static Simd mathter::Simd< float, 4 >::mul ( const Simd< float, 4 > &  lhs,
const Simd< float, 4 > &  rhs 
)
inlinestatic

◆ mul() [2/2]

static Simd mathter::Simd< float, 4 >::mul ( const Simd< float, 4 > &  lhs,
float  rhs 
)
inlinestatic

◆ set()

static Simd mathter::Simd< float, 4 >::set ( float  x,
float  y,
float  z,
float  w 
)
inlinestatic

◆ shuffle()

template<int i0, int i1, int i2, int i3>
static Simd mathter::Simd< float, 4 >::shuffle ( const Simd< float, 4 > &  arg)
inlinestatic

◆ spread()

static Simd mathter::Simd< float, 4 >::spread ( float  value)
inlinestatic

◆ sub() [1/2]

static Simd mathter::Simd< float, 4 >::sub ( const Simd< float, 4 > &  lhs,
const Simd< float, 4 > &  rhs 
)
inlinestatic

◆ sub() [2/2]

static Simd mathter::Simd< float, 4 >::sub ( const Simd< float, 4 > &  lhs,
float  rhs 
)
inlinestatic

Member Data Documentation

◆ reg

__m128 mathter::Simd< float, 4 >::reg

◆ regi

__m128i mathter::Simd< float, 4 >::regi

◆ v

float mathter::Simd< float, 4 >::v[4]

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