Public Types | Public Member Functions | Public Attributes | List of all members
fcl::details::sse_meta_f16 Struct Reference

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

Collaboration diagram for fcl::details::sse_meta_f16:
[legend]

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

◆ meta_type

◆ vector_type

Constructor & Destructor Documentation

◆ sse_meta_f16() [1/4]

fcl::details::sse_meta_f16::sse_meta_f16 ( )
inline

◆ sse_meta_f16() [2/4]

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

◆ sse_meta_f16() [3/4]

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

◆ sse_meta_f16() [4/4]

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

Member Function Documentation

◆ abs()

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

References fcl::details::abs().

◆ determinant()

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

References _mm_ror_ps.

◆ dot()

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

◆ getColumn() [1/2]

const sse_meta_f4& fcl::details::sse_meta_f16::getColumn ( size_t  i) const
inline

◆ getColumn() [2/2]

sse_meta_f4& fcl::details::sse_meta_f16::getColumn ( size_t  i)
inline

◆ getRow()

sse_meta_f4 fcl::details::sse_meta_f16::getRow ( size_t  i) const
inline

◆ inverse()

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

◆ operator()() [1/2]

float fcl::details::sse_meta_f16::operator() ( size_t  i,
size_t  j 
) const
inline

◆ operator()() [2/2]

float& fcl::details::sse_meta_f16::operator() ( size_t  i,
size_t  j 
)
inline

◆ operator*() [1/3]

sse_meta_f4 fcl::details::sse_meta_f16::operator* ( const sse_meta_f4 v) const
inline

◆ operator*() [2/3]

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

References c.

◆ operator*() [3/3]

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

◆ operator*=() [1/2]

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

References c.

◆ operator*=() [2/2]

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

◆ operator+() [1/2]

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

References c.

◆ operator+() [2/2]

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

◆ operator+=() [1/2]

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

References c.

◆ operator+=() [2/2]

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

◆ operator-() [1/2]

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

References c.

◆ operator-() [2/2]

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

◆ operator-=() [1/2]

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

References c.

◆ operator-=() [2/2]

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

◆ operator/()

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

◆ operator/=()

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

◆ setColumn() [1/2]

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

◆ setColumn() [2/2]

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

◆ setIdentity()

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

◆ setValue()

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

◆ setZero()

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

◆ timesTranspose()

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

References transpose().

◆ transpose()

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

References fcl::details::transpose().

Referenced by timesTranspose().

◆ transposeDot()

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

◆ transposeTimes() [1/2]

sse_meta_f16 fcl::details::sse_meta_f16::transposeTimes ( const sse_meta_f16 other) const
inline

References c, and fcl::details::dot_prod4().

◆ transposeTimes() [2/2]

sse_meta_f4 fcl::details::sse_meta_f16::transposeTimes ( const sse_meta_f4 v) const
inline

Member Data Documentation

◆ c

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