Mathter
A configurable 3D math library for game developers.
Classes | Functions | Variables
mathter::impl Namespace Reference

Classes

struct  dependent_false
 

Functions

template<class T , eMatrixOrder Order, eMatrixLayout Layout, bool Packed>
void Rq2x2Helper (const Matrix< T, 2, 2, Order, Layout, Packed > &A, T &x, T &y, T &z, T &c2, T &s2)
 
template<class T , eMatrixOrder Order, eMatrixLayout Layout, bool Packed>
void Svd2x2Helper (const Matrix< T, 2, 2, Order, Layout, Packed > &A, T &c1, T &s1, T &c2, T &s2, T &d1, T &d2)
 
template<class T , int Rows, int Columns, eMatrixOrder Order, eMatrixLayout Layout, bool Packed>
auto DecomposeSVD (Matrix< T, Rows, Columns, Order, Layout, Packed > m, std::true_type)
 
template<class T , int Rows, int Columns, eMatrixOrder Order, eMatrixLayout Layout, bool Packed>
auto DecomposeSVD (Matrix< T, Rows, Columns, Order, Layout, Packed > m, std::false_type)
 
template<class AritT , typename std::enable_if< std::is_integral< AritT >::value &&std::is_signed< AritT >::value, int >::type = 0>
AritT strtonum (const char *str, const char **end)
 
const char * StripSpaces (const char *str)
 
template<class T , bool Packed>
std::enable_if<!Quaternion< T, Packed >::SimdAccelerated, Quaternion< T, Packed > >::type Product (const Quaternion< T, Packed > &lhs, const Quaternion< T, Packed > &rhs)
 
template<class T , bool Packed>
std::enable_if< Quaternion< T, Packed >::SimdAccelerated, Quaternion< T, Packed > >::type Product (const Quaternion< T, Packed > &lhs, const Quaternion< T, Packed > &rhs)
 

Variables

template<class T >
constexpr bool dependent_false_v = dependent_false<T>::value
 

Function Documentation

◆ DecomposeSVD() [1/2]

template<class T , int Rows, int Columns, eMatrixOrder Order, eMatrixLayout Layout, bool Packed>
auto mathter::impl::DecomposeSVD ( Matrix< T, Rows, Columns, Order, Layout, Packed >  m,
std::true_type   
)

◆ DecomposeSVD() [2/2]

template<class T , int Rows, int Columns, eMatrixOrder Order, eMatrixLayout Layout, bool Packed>
auto mathter::impl::DecomposeSVD ( Matrix< T, Rows, Columns, Order, Layout, Packed >  m,
std::false_type   
)

◆ Product() [1/2]

template<class T , bool Packed>
std::enable_if<!Quaternion<T, Packed>::SimdAccelerated, Quaternion<T, Packed> >::type mathter::impl::Product ( const Quaternion< T, Packed > &  lhs,
const Quaternion< T, Packed > &  rhs 
)

◆ Product() [2/2]

template<class T , bool Packed>
std::enable_if<Quaternion<T, Packed>::SimdAccelerated, Quaternion<T, Packed> >::type mathter::impl::Product ( const Quaternion< T, Packed > &  lhs,
const Quaternion< T, Packed > &  rhs 
)

◆ Rq2x2Helper()

template<class T , eMatrixOrder Order, eMatrixLayout Layout, bool Packed>
void mathter::impl::Rq2x2Helper ( const Matrix< T, 2, 2, Order, Layout, Packed > &  A,
T &  x,
T &  y,
T &  z,
T &  c2,
T &  s2 
)

◆ StripSpaces()

const char* mathter::impl::StripSpaces ( const char *  str)
inline

◆ strtonum()

template<class AritT , typename std::enable_if< std::is_integral< AritT >::value &&std::is_signed< AritT >::value, int >::type = 0>
AritT mathter::impl::strtonum ( const char *  str,
const char **  end 
)

◆ Svd2x2Helper()

template<class T , eMatrixOrder Order, eMatrixLayout Layout, bool Packed>
void mathter::impl::Svd2x2Helper ( const Matrix< T, 2, 2, Order, Layout, Packed > &  A,
T &  c1,
T &  s1,
T &  c2,
T &  s2,
T &  d1,
T &  d2 
)

Variable Documentation

◆ dependent_false_v

template<class T >
constexpr bool mathter::impl::dependent_false_v = dependent_false<T>::value