STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
F32vec1 Class Reference

#include <fvec.h>

Public Member Functions

 F32vec1 ()
 
 F32vec1 (int i)
 
EXPLICIT F32vec1 (float f)
 
EXPLICIT F32vec1 (double d)
 
 F32vec1 (__m128 m)
 
 operator __m128 () const
 
F32vec1operator+= (const F32vec1 &a)
 
F32vec1operator-= (const F32vec1 &a)
 
F32vec1operator*= (const F32vec1 &a)
 
F32vec1operator/= (const F32vec1 &a)
 
F32vec1operator&= (const F32vec1 &a)
 
F32vec1operator|= (const F32vec1 &a)
 
F32vec1operator^= (const F32vec1 &a)
 
 Fvec32s1_COMP (eq) Fvec32s1_COMP(lt) Fvec32s1_COMP(le) Fvec32s1_COMP(gt) Fvec32s1_COMP(ge) Fvec32s1_COMP(neq) Fvec32s1_COMP(nlt) Fvec32s1_COMP(nle) Fvec32s1_COMP(ngt) Fvec32s1_COMP(nge) friend F32vec1 simd_min(const F32vec1 &a
 

Public Attributes

const F32vec1b { return _mm_min_ss(a,b)
 

Protected Attributes

__m128 vec
 

Friends

F32vec1 operator& (const F32vec1 &a, const F32vec1 &b)
 
F32vec1 operator| (const F32vec1 &a, const F32vec1 &b)
 
F32vec1 operator^ (const F32vec1 &a, const F32vec1 &b)
 
F32vec1 operator+ (const F32vec1 &a, const F32vec1 &b)
 
F32vec1 operator- (const F32vec1 &a, const F32vec1 &b)
 
F32vec1 operator* (const F32vec1 &a, const F32vec1 &b)
 
F32vec1 operator/ (const F32vec1 &a, const F32vec1 &b)
 
F32vec1 sqrt (const F32vec1 &a)
 
F32vec1 rcp (const F32vec1 &a)
 
F32vec1 rsqrt (const F32vec1 &a)
 
F32vec1 rcp_nr (const F32vec1 &a)
 
F32vec1 rsqrt_nr (const F32vec1 &a)
 
F32vec1 simd_max (const F32vec1 &a, const F32vec1 &b)
 

Constructor & Destructor Documentation

F32vec1::F32vec1 ( )
inline
359 {}
F32vec1::F32vec1 ( int  i)
inline
361 { vec = _mm_cvt_si2ss(vec,i);};
__m128 vec
Definition: fvec.h:355
__m128 _mm_cvt_si2ss(__m128, int)
int i[4]
Definition: fvec.h:76
EXPLICIT F32vec1::F32vec1 ( float  f)
inline
364 { vec = _mm_set_ss(f); }
__m128 _mm_set_ss(float _A)
__m128 vec
Definition: fvec.h:355
EXPLICIT F32vec1::F32vec1 ( double  d)
inline
367 { vec = _mm_set_ss((float) d); }
__m128 _mm_set_ss(float _A)
__m128 vec
Definition: fvec.h:355
F32vec1::F32vec1 ( __m128  m)
inline
370 { vec = m; }
__m128 vec
Definition: fvec.h:355
__m128 m
Definition: fvec.h:77

Member Function Documentation

F32vec1::Fvec32s1_COMP ( eq  ) const
F32vec1::operator __m128 ( ) const
inline
373 { return vec; } /* Convert to float */
__m128 vec
Definition: fvec.h:355
F32vec1& F32vec1::operator&= ( const F32vec1 a)
inline
390 { return *this = _mm_and_ps(vec,a); }
__m128 _mm_and_ps(__m128 _A, __m128 _B)
__m128 vec
Definition: fvec.h:355
F32vec1& F32vec1::operator*= ( const F32vec1 a)
inline
388 { return *this = _mm_mul_ss(vec,a); }
__m128 vec
Definition: fvec.h:355
__m128 _mm_mul_ss(__m128 _A, __m128 _B)
F32vec1& F32vec1::operator+= ( const F32vec1 a)
inline
386 { return *this = _mm_add_ss(vec,a); }
__m128 vec
Definition: fvec.h:355
__m128 _mm_add_ss(__m128 _A, __m128 _B)
F32vec1& F32vec1::operator-= ( const F32vec1 a)
inline
387 { return *this = _mm_sub_ss(vec,a); }
__m128 vec
Definition: fvec.h:355
__m128 _mm_sub_ss(__m128 _A, __m128 _B)
F32vec1& F32vec1::operator/= ( const F32vec1 a)
inline
389 { return *this = _mm_div_ss(vec,a); }
__m128 vec
Definition: fvec.h:355
__m128 _mm_div_ss(__m128 _A, __m128 _B)
F32vec1& F32vec1::operator^= ( const F32vec1 a)
inline
392 { return *this = _mm_xor_ps(vec,a); }
__m128 vec
Definition: fvec.h:355
__m128 _mm_xor_ps(__m128 _A, __m128 _B)
F32vec1& F32vec1::operator|= ( const F32vec1 a)
inline
391 { return *this = _mm_or_ps(vec,a); }
__m128 vec
Definition: fvec.h:355
__m128 _mm_or_ps(__m128 _A, __m128 _B)

Friends And Related Function Documentation

F32vec1 operator& ( const F32vec1 a,
const F32vec1 b 
)
friend
376 { return _mm_and_ps(a,b); }
__m128 _mm_and_ps(__m128 _A, __m128 _B)
F32vec1 operator* ( const F32vec1 a,
const F32vec1 b 
)
friend
383 { return _mm_mul_ss(a,b); }
__m128 _mm_mul_ss(__m128 _A, __m128 _B)
F32vec1 operator+ ( const F32vec1 a,
const F32vec1 b 
)
friend
381 { return _mm_add_ss(a,b); }
__m128 _mm_add_ss(__m128 _A, __m128 _B)
F32vec1 operator- ( const F32vec1 a,
const F32vec1 b 
)
friend
382 { return _mm_sub_ss(a,b); }
__m128 _mm_sub_ss(__m128 _A, __m128 _B)
F32vec1 operator/ ( const F32vec1 a,
const F32vec1 b 
)
friend
384 { return _mm_div_ss(a,b); }
__m128 _mm_div_ss(__m128 _A, __m128 _B)
F32vec1 operator^ ( const F32vec1 a,
const F32vec1 b 
)
friend
378 { return _mm_xor_ps(a,b); }
__m128 _mm_xor_ps(__m128 _A, __m128 _B)
F32vec1 operator| ( const F32vec1 a,
const F32vec1 b 
)
friend
377 { return _mm_or_ps(a,b); }
__m128 _mm_or_ps(__m128 _A, __m128 _B)
F32vec1 rcp ( const F32vec1 a)
friend
398 { return _mm_rcp_ss(a); }
__m128 _mm_rcp_ss(__m128 _A)
F32vec1 rcp_nr ( const F32vec1 a)
friend
405  {
406  F32vec1 Ra0 = _mm_rcp_ss(a);
407  return _mm_sub_ss(_mm_add_ss(Ra0, Ra0), _mm_mul_ss(_mm_mul_ss(Ra0, a), Ra0));
408  }
Definition: fvec.h:352
__m128 _mm_add_ss(__m128 _A, __m128 _B)
__m128 _mm_rcp_ss(__m128 _A)
__m128 _mm_sub_ss(__m128 _A, __m128 _B)
__m128 _mm_mul_ss(__m128 _A, __m128 _B)
F32vec1 rsqrt ( const F32vec1 a)
friend
400 { return _mm_rsqrt_ss(a); }
__m128 _mm_rsqrt_ss(__m128 _A)
F32vec1 rsqrt_nr ( const F32vec1 a)
friend
415  {
416  static const F32vec1 fvecf0pt5(0.5f);
417  static const F32vec1 fvecf3pt0(3.0f);
418  F32vec1 Ra0 = _mm_rsqrt_ss(a);
419  return (fvecf0pt5 * Ra0) * (fvecf3pt0 - (a * Ra0) * Ra0);
420  }
__m128 _mm_rsqrt_ss(__m128 _A)
Definition: fvec.h:352
F32vec1 simd_max ( const F32vec1 a,
const F32vec1 b 
)
friend
443 { return _mm_max_ss(a,b); }
__m128 _mm_max_ss(__m128 _A, __m128 _B)
F32vec1 sqrt ( const F32vec1 a)
friend
396 { return _mm_sqrt_ss(a); }
__m128 _mm_sqrt_ss(__m128 _A)

Member Data Documentation

const F32vec1& F32vec1::b { return _mm_min_ss(a,b)
__m128 F32vec1::vec
protected

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