Newton Dynamics  4.00
ndAvxFloat Class Reference

Public Member Functions

 ndAvxFloat (const ndFloat32 val)
 
 ndAvxFloat (const ndInt32 val)
 
 ndAvxFloat (const __m256 type)
 
 ndAvxFloat (const ndAvxFloat &copy)
 
 ndAvxFloat (const ndVector &low, const ndVector &high)
 
 ndAvxFloat (const ndAvxFloat *const baseAddr, const ndAvxFloat &index)
 
ndFloat32 & operator[] (ndInt32 i)
 
const ndFloat32 & operator[] (ndInt32 i) const
 
ndAvxFloat operator+ (const ndAvxFloat &A) const
 
ndAvxFloat operator- (const ndAvxFloat &A) const
 
ndAvxFloat operator* (const ndAvxFloat &A) const
 
ndAvxFloat MulAdd (const ndAvxFloat &A, const ndAvxFloat &B) const
 
ndAvxFloat MulSub (const ndAvxFloat &A, const ndAvxFloat &B) const
 
ndAvxFloat operator> (const ndAvxFloat &A) const
 
ndAvxFloat operator< (const ndAvxFloat &A) const
 
ndAvxFloat operator| (const ndAvxFloat &A) const
 
ndAvxFloat operator& (const ndAvxFloat &A) const
 
ndAvxFloat GetMin (const ndAvxFloat &A) const
 
ndAvxFloat GetMax (const ndAvxFloat &A) const
 
ndAvxFloat Select (const ndAvxFloat &data, const ndAvxFloat &mask) const
 
ndVector GetLow () const
 
ndVector GetHigh () const
 
ndFloat32 GetMax () const
 
ndFloat32 AddHorizontal () const
 

Static Public Member Functions

static void FlushRegisters ()
 
static void Transpose (ndAvxFloat &dst0, ndAvxFloat &dst1, ndAvxFloat &dst2, ndAvxFloat &dst3, ndAvxFloat &dst4, ndAvxFloat &dst5, ndAvxFloat &dst6, ndAvxFloat &dst7, const ndAvxFloat &src0, const ndAvxFloat &src1, const ndAvxFloat &src2, const ndAvxFloat &src3, const ndAvxFloat &src4, const ndAvxFloat &src5, const ndAvxFloat &src6, const ndAvxFloat &src7)
 

Public Attributes

union {
   __m256   m_type
 
   __m256i   m_typeInt
 
   ndJacobian   m_vector8
 
   ndInt32   m_int [D_AVX_WORK_GROUP]
 
}; 
 

Static Public Attributes

static ndAvxFloat m_one
 
static ndAvxFloat m_zero
 
static ndAvxFloat m_mask
 
static ndAvxFloat m_ordinals