ReactOS 0.4.15-dev-7958-gcd0bb1a
F32vec1 Class Reference

#include <fvec.h>

Collaboration diagram for F32vec1:

Public Member Functions

 F32vec1 ()
 
 F32vec1 (int i)
 
EXPLICIT F32vec1 (float f)
 
EXPLICIT F32vec1 (double d)
 
 F32vec1 (__m128 m)
 
 operator __m128 () const
 
F32vec1operator+= (F32vec1 &a)
 
F32vec1operator-= (F32vec1 &a)
 
F32vec1operator*= (F32vec1 &a)
 
F32vec1operator/= (F32vec1 &a)
 
F32vec1operator&= (F32vec1 &a)
 
F32vec1operator|= (F32vec1 &a)
 
F32vec1operator^= (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)
 

Detailed Description

Definition at line 161 of file fvec.h.

Constructor & Destructor Documentation

◆ F32vec1() [1/5]

F32vec1::F32vec1 ( )
inline

Definition at line 165 of file fvec.h.

165{}

◆ F32vec1() [2/5]

F32vec1::F32vec1 ( int  i)
inline

Definition at line 166 of file fvec.h.

166{ vec = _mm_cvt_si2ss(vec,i);};
__m128 vec
Definition: fvec.h:163
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
__m128 _mm_cvt_si2ss(__m128 a, int b)

◆ F32vec1() [3/5]

EXPLICIT F32vec1::F32vec1 ( float  f)
inline

Definition at line 167 of file fvec.h.

167{ vec = _mm_set_ss(f); }
GLfloat f
Definition: glext.h:7540
__m128 _mm_set_ss(float a)
Definition: xmmintrin.h:1000

◆ F32vec1() [4/5]

EXPLICIT F32vec1::F32vec1 ( double  d)
inline

Definition at line 168 of file fvec.h.

168{ vec = _mm_set_ss((float) d); }
#define d
Definition: ke_i.h:81

◆ F32vec1() [5/5]

F32vec1::F32vec1 ( __m128  m)
inline

Definition at line 169 of file fvec.h.

169{ vec = m; }
const GLfloat * m
Definition: glext.h:10848

Member Function Documentation

◆ Fvec32s1_COMP()

F32vec1::Fvec32s1_COMP ( eq  ) const &

◆ operator __m128()

F32vec1::operator __m128 ( ) const
inline

Definition at line 170 of file fvec.h.

170{ return vec; }

◆ operator&=()

F32vec1 & F32vec1::operator&= ( F32vec1 a)
inline

Definition at line 182 of file fvec.h.

182{ return *this = _mm_and_ps(vec,a); }
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
__m128 _mm_and_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:642

◆ operator*=()

F32vec1 & F32vec1::operator*= ( F32vec1 a)
inline

Definition at line 180 of file fvec.h.

180{ return *this = _mm_mul_ss(vec,a); }
__m128 _mm_mul_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:570

◆ operator+=()

F32vec1 & F32vec1::operator+= ( F32vec1 a)
inline

Definition at line 178 of file fvec.h.

178{ return *this = _mm_add_ss(vec,a); }
__m128 _mm_add_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:548

◆ operator-=()

F32vec1 & F32vec1::operator-= ( F32vec1 a)
inline

Definition at line 179 of file fvec.h.

179{ return *this = _mm_sub_ss(vec,a); }
__m128 _mm_sub_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:559

◆ operator/=()

F32vec1 & F32vec1::operator/= ( F32vec1 a)
inline

Definition at line 181 of file fvec.h.

181{ return *this = _mm_div_ss(vec,a); }
__m128 _mm_div_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:581

◆ operator^=()

F32vec1 & F32vec1::operator^= ( F32vec1 a)
inline

Definition at line 184 of file fvec.h.

184{ return *this = _mm_xor_ps(vec,a); }
__m128 _mm_xor_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:657

◆ operator|=()

F32vec1 & F32vec1::operator|= ( F32vec1 a)
inline

Definition at line 183 of file fvec.h.

183{ return *this = _mm_or_ps(vec,a); }
__m128 _mm_or_ps(__m128 a, __m128 b)
Definition: xmmintrin.h:652

Friends And Related Function Documentation

◆ operator&

F32vec1 operator& ( const F32vec1 a,
const F32vec1 b 
)
friend

Definition at line 171 of file fvec.h.

171{ return _mm_and_ps(a,b); }
GLboolean GLboolean GLboolean b
Definition: glext.h:6204

◆ operator*

F32vec1 operator* ( const F32vec1 a,
const F32vec1 b 
)
friend

Definition at line 176 of file fvec.h.

176{ return _mm_mul_ss(a,b); }

◆ operator+

F32vec1 operator+ ( const F32vec1 a,
const F32vec1 b 
)
friend

Definition at line 174 of file fvec.h.

174{ return _mm_add_ss(a,b); }

◆ operator-

F32vec1 operator- ( const F32vec1 a,
const F32vec1 b 
)
friend

Definition at line 175 of file fvec.h.

175{ return _mm_sub_ss(a,b); }

◆ operator/

F32vec1 operator/ ( const F32vec1 a,
const F32vec1 b 
)
friend

Definition at line 177 of file fvec.h.

177{ return _mm_div_ss(a,b); }

◆ operator^

F32vec1 operator^ ( const F32vec1 a,
const F32vec1 b 
)
friend

Definition at line 173 of file fvec.h.

173{ return _mm_xor_ps(a,b); }

◆ operator|

F32vec1 operator| ( const F32vec1 a,
const F32vec1 b 
)
friend

Definition at line 172 of file fvec.h.

172{ return _mm_or_ps(a,b); }

◆ rcp

F32vec1 rcp ( const F32vec1 a)
friend

Definition at line 186 of file fvec.h.

186{ return _mm_rcp_ss(a); }
__m128 _mm_rcp_ss(__m128 a)
Definition: xmmintrin.h:602

◆ rcp_nr

F32vec1 rcp_nr ( const F32vec1 a)
friend

Definition at line 188 of file fvec.h.

188 {
189 F32vec1 Ra0 = _mm_rcp_ss(a);
190 return _mm_sub_ss(_mm_add_ss(Ra0,Ra0),_mm_mul_ss(_mm_mul_ss(Ra0,a),Ra0));
191 }
Definition: fvec.h:161

◆ rsqrt

F32vec1 rsqrt ( const F32vec1 a)
friend

Definition at line 187 of file fvec.h.

187{ return _mm_rsqrt_ss(a); }
__m128 _mm_rsqrt_ss(__m128 a)
Definition: xmmintrin.h:612

◆ rsqrt_nr

F32vec1 rsqrt_nr ( const F32vec1 a)
friend

Definition at line 192 of file fvec.h.

192 {
193 static const F32vec1 fvecf0pt5(0.5f);
194 static const F32vec1 fvecf3pt0(3.0f);
195 F32vec1 Ra0 = _mm_rsqrt_ss(a);
196 return (fvecf0pt5 *Ra0) *(fvecf3pt0 - (a *Ra0) *Ra0);
197 }

◆ simd_max

F32vec1 simd_max ( const F32vec1 a,
const F32vec1 b 
)
friend

Definition at line 212 of file fvec.h.

212{ return _mm_max_ss(a,b); }
__m128 _mm_max_ss(__m128 a, __m128 b)
Definition: xmmintrin.h:632

◆ sqrt

F32vec1 sqrt ( const F32vec1 a)
friend

Definition at line 185 of file fvec.h.

185{ return _mm_sqrt_ss(a); }
__m128 _mm_sqrt_ss(__m128 a)
Definition: xmmintrin.h:592

Member Data Documentation

◆ b

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

Definition at line 211 of file fvec.h.

◆ vec

__m128 F32vec1::vec
protected

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