ReactOS  0.4.15-dev-506-ga3ec01c
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);};
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 vec
Definition: fvec.h:163

◆ 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 vec
Definition: fvec.h:163

◆ 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
__m128 vec
Definition: fvec.h:163

◆ 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
__m128 vec
Definition: fvec.h:163

Member Function Documentation

◆ Fvec32s1_COMP()

F32vec1::Fvec32s1_COMP ( eq  ) const &

◆ operator &=()

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

Definition at line 182 of file fvec.h.

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

◆ operator *=()

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

Definition at line 180 of file fvec.h.

180 { return *this = _mm_mul_ss(vec,a); }
__m128 vec
Definition: fvec.h:163
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ operator -=()

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

Definition at line 179 of file fvec.h.

179 { return *this = _mm_sub_ss(vec,a); }
__m128 vec
Definition: fvec.h:163
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ 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)
__m128 vec
Definition: fvec.h:163
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ operator __m128()

F32vec1::operator __m128 ( ) const
inline

Definition at line 170 of file fvec.h.

170 { return vec; }
__m128 vec
Definition: fvec.h:163

◆ operator+=()

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

Definition at line 178 of file fvec.h.

178 { return *this = _mm_add_ss(vec,a); }
__m128 vec
Definition: fvec.h:163
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ operator/=()

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

Definition at line 181 of file fvec.h.

181 { return *this = _mm_div_ss(vec,a); }
__m128 vec
Definition: fvec.h:163
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ operator|=()

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

Definition at line 183 of file fvec.h.

183 { return *this = _mm_or_ps(vec,a); }
__m128 vec
Definition: fvec.h:163
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

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
GLboolean GLboolean GLboolean GLboolean a
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); }
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ 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); }
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ 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); }
__m128 _mm_xor_ps(__m128 a, __m128 b)
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ 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); }
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ 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); }
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ 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); }
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ rcp

F32vec1 rcp ( const F32vec1 a)
friend

Definition at line 186 of file fvec.h.

186 { return _mm_rcp_ss(a); }
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ 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
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ rsqrt

F32vec1 rsqrt ( const F32vec1 a)
friend

Definition at line 187 of file fvec.h.

187 { return _mm_rsqrt_ss(a); }
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ 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  }
Definition: fvec.h:161
GLfloat f
Definition: glext.h:7540
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ 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); }
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ sqrt

F32vec1 sqrt ( const F32vec1 a)
friend

Definition at line 185 of file fvec.h.

185 { return _mm_sqrt_ss(a); }
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

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: