All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
fcl::details::sse_meta_f16 Struct Reference

#include <hpp/fcl/simd/math_simd_details.h>

Collaboration diagram for fcl::details::sse_meta_f16:

Public Types

typedef float meta_type
 
typedef sse_meta_f4 vector_type
 

Public Member Functions

 sse_meta_f16 ()
 
 sse_meta_f16 (float xx, float xy, float xz, float xw, float yx, float yy, float yz, float yw, float zx, float zy, float zz, float zw, float wx, float wy, float wz, float ww)
 
 sse_meta_f16 (const sse_meta_f4 &x, const sse_meta_f4 &y, const sse_meta_f4 &z, const sse_meta_f4 &w)
 
 sse_meta_f16 (__m128 x, __m128 y, __m128 z, __m128 w)
 
void setValue (float xx, float xy, float xz, float xw, float yx, float yy, float yz, float yw, float zx, float zy, float zz, float zw, float wx, float wy, float wz, float ww)
 
void setColumn (const sse_meta_f4 &x, const sse_meta_f4 &y, const sse_meta_f4 &z, const sse_meta_f4 &w)
 
void setColumn (__m128 x, __m128 y, __m128 z, __m128 w)
 
void setIdentity ()
 
void setZero ()
 
const sse_meta_f4getColumn (size_t i) const
 
sse_meta_f4getColumn (size_t i)
 
sse_meta_f4 getRow (size_t i) const
 
float operator() (size_t i, size_t j) const
 
float & operator() (size_t i, size_t j)
 
sse_meta_f4 operator* (const sse_meta_f4 &v) const
 
sse_meta_f16 operator* (const sse_meta_f16 &mat) const
 
sse_meta_f16 operator+ (const sse_meta_f16 &mat) const
 
sse_meta_f16 operator- (const sse_meta_f16 &mat) const
 
sse_meta_f16 operator+ (float t_) const
 
sse_meta_f16 operator- (float t_) const
 
sse_meta_f16 operator* (float t_) const
 
sse_meta_f16 operator/ (float t_) const
 
sse_meta_f16operator*= (const sse_meta_f16 &mat)
 
sse_meta_f16operator+= (const sse_meta_f16 &mat)
 
sse_meta_f16operator-= (const sse_meta_f16 &mat)
 
sse_meta_f16operator+= (float t_)
 
sse_meta_f16operator-= (float t_)
 
sse_meta_f16operator*= (float t_)
 
sse_meta_f16operator/= (float t_)
 
sse_meta_f16abs ()
 
sse_meta_f16inverse ()
 
sse_meta_f16transpose ()
 
float determinant () const
 
sse_meta_f16 transposeTimes (const sse_meta_f16 &other) const
 
sse_meta_f16 timesTranspose (const sse_meta_f16 &m) const
 
sse_meta_f4 transposeTimes (const sse_meta_f4 &v) const
 
float transposeDot (size_t i, const sse_meta_f4 &v) const
 
float dot (size_t i, const sse_meta_f4 &v) const
 

Public Attributes

sse_meta_f4 c [4]
 

Member Typedef Documentation

Constructor & Destructor Documentation

fcl::details::sse_meta_f16::sse_meta_f16 ( )
inline
fcl::details::sse_meta_f16::sse_meta_f16 ( float  xx,
float  xy,
float  xz,
float  xw,
float  yx,
float  yy,
float  yz,
float  yw,
float  zx,
float  zy,
float  zz,
float  zw,
float  wx,
float  wy,
float  wz,
float  ww 
)
inline

References setValue().

fcl::details::sse_meta_f16::sse_meta_f16 ( const sse_meta_f4 x,
const sse_meta_f4 y,
const sse_meta_f4 z,
const sse_meta_f4 w 
)
inline

References setColumn().

fcl::details::sse_meta_f16::sse_meta_f16 ( __m128  x,
__m128  y,
__m128  z,
__m128  w 
)
inline

References setColumn().

Member Function Documentation

sse_meta_f16& fcl::details::sse_meta_f16::abs ( )
inline

References fcl::details::abs().

float fcl::details::sse_meta_f16::determinant ( ) const
inline

References _mm_ror_ps.

float fcl::details::sse_meta_f16::dot ( size_t  i,
const sse_meta_f4 v 
) const
inline
const sse_meta_f4& fcl::details::sse_meta_f16::getColumn ( size_t  i) const
inline
sse_meta_f4& fcl::details::sse_meta_f16::getColumn ( size_t  i)
inline
sse_meta_f4 fcl::details::sse_meta_f16::getRow ( size_t  i) const
inline

References sse_meta_f4().

sse_meta_f16& fcl::details::sse_meta_f16::inverse ( )
inline
float fcl::details::sse_meta_f16::operator() ( size_t  i,
size_t  j 
) const
inline
float& fcl::details::sse_meta_f16::operator() ( size_t  i,
size_t  j 
)
inline
sse_meta_f4 fcl::details::sse_meta_f16::operator* ( const sse_meta_f4 v) const
inline

References sse_meta_f4(), and vec_splat.

sse_meta_f16 fcl::details::sse_meta_f16::operator* ( const sse_meta_f16 mat) const
inline

References c, and sse_meta_f16().

sse_meta_f16 fcl::details::sse_meta_f16::operator* ( float  t_) const
inline

References sse_meta_f16().

sse_meta_f16& fcl::details::sse_meta_f16::operator*= ( const sse_meta_f16 mat)
inline

References c, and setColumn().

sse_meta_f16& fcl::details::sse_meta_f16::operator*= ( float  t_)
inline
sse_meta_f16 fcl::details::sse_meta_f16::operator+ ( const sse_meta_f16 mat) const
inline

References c, and sse_meta_f16().

sse_meta_f16 fcl::details::sse_meta_f16::operator+ ( float  t_) const
inline

References sse_meta_f16().

sse_meta_f16& fcl::details::sse_meta_f16::operator+= ( const sse_meta_f16 mat)
inline

References c.

sse_meta_f16& fcl::details::sse_meta_f16::operator+= ( float  t_)
inline
sse_meta_f16 fcl::details::sse_meta_f16::operator- ( const sse_meta_f16 mat) const
inline

References c, and sse_meta_f16().

sse_meta_f16 fcl::details::sse_meta_f16::operator- ( float  t_) const
inline

References sse_meta_f16().

sse_meta_f16& fcl::details::sse_meta_f16::operator-= ( const sse_meta_f16 mat)
inline

References c.

sse_meta_f16& fcl::details::sse_meta_f16::operator-= ( float  t_)
inline
sse_meta_f16 fcl::details::sse_meta_f16::operator/ ( float  t_) const
inline

References sse_meta_f16().

sse_meta_f16& fcl::details::sse_meta_f16::operator/= ( float  t_)
inline
void fcl::details::sse_meta_f16::setColumn ( const sse_meta_f4 x,
const sse_meta_f4 y,
const sse_meta_f4 z,
const sse_meta_f4 w 
)
inline
void fcl::details::sse_meta_f16::setColumn ( __m128  x,
__m128  y,
__m128  z,
__m128  w 
)
inline
void fcl::details::sse_meta_f16::setIdentity ( )
inline
void fcl::details::sse_meta_f16::setValue ( float  xx,
float  xy,
float  xz,
float  xw,
float  yx,
float  yy,
float  yz,
float  yw,
float  zx,
float  zy,
float  zz,
float  zw,
float  wx,
float  wy,
float  wz,
float  ww 
)
inline

Referenced by sse_meta_f16().

void fcl::details::sse_meta_f16::setZero ( )
inline

Referenced by sse_meta_f16().

sse_meta_f16 fcl::details::sse_meta_f16::timesTranspose ( const sse_meta_f16 m) const
inline

References transpose().

sse_meta_f16& fcl::details::sse_meta_f16::transpose ( )
inline

References setColumn(), and fcl::details::transpose().

Referenced by timesTranspose().

float fcl::details::sse_meta_f16::transposeDot ( size_t  i,
const sse_meta_f4 v 
) const
inline
sse_meta_f16 fcl::details::sse_meta_f16::transposeTimes ( const sse_meta_f16 other) const
inline
sse_meta_f4 fcl::details::sse_meta_f16::transposeTimes ( const sse_meta_f4 v) const
inline

Member Data Documentation

sse_meta_f4 fcl::details::sse_meta_f16::c[4]