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

2,4 or 8 dimension float or double parameters accepted. Uses SSE2 or AVX acceleration if enabled in the compiler. More...

#include <Simd.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, T rhs)
 
static Simd div (const Simd &lhs, T rhs)
 
static Simd add (const Simd &lhs, T rhs)
 
static Simd sub (const Simd &lhs, T rhs)
 
static Simd mad (const Simd &a, const Simd &b, const Simd &c)
 
static Simd spread (T value)
 
template<class... Args>
static Simd set (Args... args)
 
template<int Count = Dim>
static T dot (const Simd &lhs, const Simd &rhs)
 
template<int i0, int i1>
static Simd shuffle (Simd arg)
 
template<int i0, int i1, int i2, int i3>
static Simd shuffle (Simd arg)
 
template<int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7>
static Simd shuffle (Simd arg)
 

Public Attributes

v [Dim]
 

Detailed Description

template<class T, int Dim>
union mathter::Simd< T, Dim >

2,4 or 8 dimension float or double parameters accepted. Uses SSE2 or AVX acceleration if enabled in the compiler.

Member Function Documentation

◆ add() [1/2]

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::add ( const Simd< T, Dim > &  lhs,
const Simd< T, Dim > &  rhs 
)
inlinestatic

◆ add() [2/2]

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::add ( const Simd< T, Dim > &  lhs,
rhs 
)
inlinestatic

◆ div() [1/2]

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::div ( const Simd< T, Dim > &  lhs,
const Simd< T, Dim > &  rhs 
)
inlinestatic

◆ div() [2/2]

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::div ( const Simd< T, Dim > &  lhs,
rhs 
)
inlinestatic

◆ dot()

template<class T, int Dim>
template<int Count = Dim>
static T mathter::Simd< T, Dim >::dot ( const Simd< T, Dim > &  lhs,
const Simd< T, Dim > &  rhs 
)
inlinestatic

◆ mad()

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::mad ( const Simd< T, Dim > &  a,
const Simd< T, Dim > &  b,
const Simd< T, Dim > &  c 
)
inlinestatic

◆ mul() [1/2]

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::mul ( const Simd< T, Dim > &  lhs,
const Simd< T, Dim > &  rhs 
)
inlinestatic

◆ mul() [2/2]

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::mul ( const Simd< T, Dim > &  lhs,
rhs 
)
inlinestatic

◆ set()

template<class T, int Dim>
template<class... Args>
static Simd mathter::Simd< T, Dim >::set ( Args...  args)
inlinestatic

◆ shuffle() [1/3]

template<class T, int Dim>
template<int i0, int i1>
static Simd mathter::Simd< T, Dim >::shuffle ( Simd< T, Dim >  arg)
inlinestatic

◆ shuffle() [2/3]

template<class T, int Dim>
template<int i0, int i1, int i2, int i3>
static Simd mathter::Simd< T, Dim >::shuffle ( Simd< T, Dim >  arg)
inlinestatic

◆ shuffle() [3/3]

template<class T, int Dim>
template<int i0, int i1, int i2, int i3, int i4, int i5, int i6, int i7>
static Simd mathter::Simd< T, Dim >::shuffle ( Simd< T, Dim >  arg)
inlinestatic

◆ spread()

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::spread ( value)
inlinestatic

◆ sub() [1/2]

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::sub ( const Simd< T, Dim > &  lhs,
const Simd< T, Dim > &  rhs 
)
inlinestatic

◆ sub() [2/2]

template<class T, int Dim>
static Simd mathter::Simd< T, Dim >::sub ( const Simd< T, Dim > &  lhs,
rhs 
)
inlinestatic

Member Data Documentation

◆ v

template<class T, int Dim>
T mathter::Simd< T, Dim >::v[Dim]

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