ReactOS 0.4.15-dev-7942-gd23573b
Iu32vec4 Class Reference

#include <dvec.h>

Inheritance diagram for Iu32vec4:
Collaboration diagram for Iu32vec4:

Public Member Functions

 Iu32vec4 ()
 
 Iu32vec4 (__m128i mm)
 
 Iu32vec4 (unsigned int ui3, unsigned int ui2, unsigned int ui1, unsigned int ui0)
 
Iu32vec4operator= (const M128 &a)
 
Iu32vec4operator&= (const M128 &a)
 
Iu32vec4operator|= (const M128 &a)
 
Iu32vec4operator^= (const M128 &a)
 
Iu32vec4operator+= (const I32vec4 &a)
 
Iu32vec4operator-= (const I32vec4 &a)
 
Iu32vec4 operator<< (const M128 &a)
 
Iu32vec4 operator<< (int count)
 
Iu32vec4operator<<= (const M128 &a)
 
Iu32vec4operator<<= (int count)
 
Iu32vec4 operator>> (const M128 &a)
 
Iu32vec4 operator>> (int count)
 
Iu32vec4operator>>= (const M128 &a)
 
Iu32vec4operator>>= (int count)
 
const unsigned intoperator[] (int i) const
 
unsigned intoperator[] (int i)
 
- Public Member Functions inherited from I32vec4
 I32vec4 ()
 
 I32vec4 (__m128i mm)
 
I32vec4operator= (const M128 &a)
 
I32vec4operator&= (const M128 &a)
 
I32vec4operator|= (const M128 &a)
 
I32vec4operator^= (const M128 &a)
 
I32vec4operator+= (const I32vec4 &a)
 
I32vec4operator-= (const I32vec4 &a)
 
I32vec4 operator<< (const I32vec4 &a)
 
I32vec4 operator<< (int count)
 
I32vec4operator<<= (const I32vec4 &a)
 
I32vec4operator<<= (int count)
 
- Public Member Functions inherited from M128
 M128 ()
 
 M128 (__m128i mm)
 
 operator __m128i () const
 
M128operator&= (const M128 &a)
 
M128operator|= (const M128 &a)
 
M128operator^= (const M128 &a)
 

Additional Inherited Members

- Protected Attributes inherited from M128
__m128i vec
 

Detailed Description

Definition at line 233 of file dvec.h.

Constructor & Destructor Documentation

◆ Iu32vec4() [1/3]

Iu32vec4::Iu32vec4 ( )
inline

Definition at line 236 of file dvec.h.

236{ }

Referenced by operator&=(), operator+=(), operator-=(), operator<<=(), operator=(), operator>>=(), operator^=(), and operator|=().

◆ Iu32vec4() [2/3]

Iu32vec4::Iu32vec4 ( __m128i  mm)
inline

Definition at line 237 of file dvec.h.

237: I32vec4(mm) { }
I32vec4()
Definition: dvec.h:143

◆ Iu32vec4() [3/3]

Iu32vec4::Iu32vec4 ( unsigned int  ui3,
unsigned int  ui2,
unsigned int  ui1,
unsigned int  ui0 
)
inline

Definition at line 238 of file dvec.h.

239 {
240 _MM_4UDW(0,vec) = ui0;
241 _MM_4UDW(1,vec) = ui1;
242 _MM_4UDW(2,vec) = ui2;
243 _MM_4UDW(3,vec) = ui3;
244 }
__m128i vec
Definition: dvec.h:61
#define _MM_4UDW(element, vector)
Definition: dvec.h:47

Member Function Documentation

◆ operator&=()

Iu32vec4 & Iu32vec4::operator&= ( const M128 a)
inline

Definition at line 248 of file dvec.h.

248{ return *this = (Iu32vec4) _mm_and_si128(vec,a); }
Iu32vec4()
Definition: dvec.h:236
__m128i _mm_and_si128(__m128i a, __m128i b)
Definition: emmintrin.h:1321
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ operator+=()

Iu32vec4 & Iu32vec4::operator+= ( const I32vec4 a)
inline

Definition at line 252 of file dvec.h.

252{ return *this = (Iu32vec4)_mm_add_epi32(vec,a); }
__m128i _mm_add_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1128

◆ operator-=()

Iu32vec4 & Iu32vec4::operator-= ( const I32vec4 a)
inline

Definition at line 253 of file dvec.h.

253{ return *this = (Iu32vec4)_mm_sub_epi32(vec,a); }
__m128i _mm_sub_epi32(__m128i a, __m128i b)
Definition: emmintrin.h:1270

◆ operator<<() [1/2]

Iu32vec4 Iu32vec4::operator<< ( const M128 a)
inline

Definition at line 255 of file dvec.h.

255{ return _mm_sll_epi32(vec,a); }
__m128i _mm_sll_epi32(__m128i a, __m128i count)
Definition: emmintrin.h:1359

◆ operator<<() [2/2]

Iu32vec4 Iu32vec4::operator<< ( int  count)
inline

Definition at line 256 of file dvec.h.

256{ return _mm_slli_epi32(vec,count); }
__m128i _mm_slli_epi32(__m128i a, int count)
Definition: emmintrin.h:1354
GLuint GLuint GLsizei count
Definition: gl.h:1545

◆ operator<<=() [1/2]

Iu32vec4 & Iu32vec4::operator<<= ( const M128 a)
inline

Definition at line 257 of file dvec.h.

257{ return *this = (Iu32vec4)_mm_sll_epi32(vec,a); }

◆ operator<<=() [2/2]

Iu32vec4 & Iu32vec4::operator<<= ( int  count)
inline

Definition at line 258 of file dvec.h.

258{ return *this = (Iu32vec4)_mm_slli_epi32(vec,count); }

◆ operator=()

Iu32vec4 & Iu32vec4::operator= ( const M128 a)
inline

Definition at line 246 of file dvec.h.

246{ return *this = (Iu32vec4) a; }

◆ operator>>() [1/2]

Iu32vec4 Iu32vec4::operator>> ( const M128 a)
inline

Definition at line 259 of file dvec.h.

259{ return _mm_srl_epi32(vec,a); }
__m128i _mm_srl_epi32(__m128i a, __m128i count)
Definition: emmintrin.h:1412

◆ operator>>() [2/2]

Iu32vec4 Iu32vec4::operator>> ( int  count)
inline

Definition at line 260 of file dvec.h.

260{ return _mm_srli_epi32(vec,count); }
__m128i _mm_srli_epi32(__m128i a, int count)
Definition: emmintrin.h:1407

◆ operator>>=() [1/2]

Iu32vec4 & Iu32vec4::operator>>= ( const M128 a)
inline

Definition at line 261 of file dvec.h.

261{ return *this = (Iu32vec4) _mm_srl_epi32(vec,a); }

◆ operator>>=() [2/2]

Iu32vec4 & Iu32vec4::operator>>= ( int  count)
inline

Definition at line 262 of file dvec.h.

262{ return *this = (Iu32vec4) _mm_srli_epi32(vec,count); }

◆ operator[]() [1/2]

unsigned int & Iu32vec4::operator[] ( int  i)
inline

Definition at line 282 of file dvec.h.

283 {
284 assert(static_cast<unsigned int>(i) < 4);
285 return _MM_4UDW(i,vec);
286 }
#define assert(x)
Definition: debug.h:53
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

◆ operator[]() [2/2]

const unsigned int & Iu32vec4::operator[] ( int  i) const
inline

Definition at line 276 of file dvec.h.

277 {
278 assert(static_cast<unsigned int>(i) < 4);
279 return _MM_4UDW(i,vec);
280 }

◆ operator^=()

Iu32vec4 & Iu32vec4::operator^= ( const M128 a)
inline

Definition at line 250 of file dvec.h.

250{ return *this = (Iu32vec4) _mm_xor_si128(vec,a); }
__m128i _mm_xor_si128(__m128i a, __m128i b)
Definition: emmintrin.h:1336

◆ operator|=()

Iu32vec4 & Iu32vec4::operator|= ( const M128 a)
inline

Definition at line 249 of file dvec.h.

249{ return *this = (Iu32vec4) _mm_or_si128(vec,a); }
__m128i _mm_or_si128(__m128i a, __m128i b)
Definition: emmintrin.h:1331

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