Mathter
A configurable 3D math library for game developers.
Static Public Member Functions | Public Attributes | List of all members
mathter::Simd< float, 8 > 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 a, float b, float c, float d, float e, float f, float g, float h)
 
template<int Count>
static float dot (const Simd &lhs, const Simd &rhs)
 
template<int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7>
static Simd shuffle (const Simd &arg)
 

Public Attributes

__m128 reg [2]
 
float v [8]
 

Member Function Documentation

◆ add() [1/2]

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

◆ add() [2/2]

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

◆ div() [1/2]

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

◆ div() [2/2]

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

◆ dot()

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

◆ mad()

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

◆ mul() [1/2]

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

◆ mul() [2/2]

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

◆ set()

static Simd mathter::Simd< float, 8 >::set ( float  a,
float  b,
float  c,
float  d,
float  e,
float  f,
float  g,
float  h 
)
inlinestatic

◆ shuffle()

template<int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7>
static Simd mathter::Simd< float, 8 >::shuffle ( const Simd< float, 8 > &  arg)
inlinestatic

◆ spread()

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

◆ sub() [1/2]

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

◆ sub() [2/2]

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

Member Data Documentation

◆ reg

__m128 mathter::Simd< float, 8 >::reg[2]

◆ v

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

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