ReactOS 0.4.15-dev-8100-g1887773
Is32vec4 Class Reference

#include <dvec.h>

Inheritance diagram for Is32vec4:
Collaboration diagram for Is32vec4:

Public Member Functions

 Is32vec4 ()
 
 Is32vec4 (__m128i mm)
 
 Is32vec4 (int i3, int i2, int i1, int i0)
 
Is32vec4operator= (const M128 &a)
 
Is32vec4operator&= (const M128 &a)
 
Is32vec4operator|= (const M128 &a)
 
Is32vec4operator^= (const M128 &a)
 
Is32vec4operator+= (const I32vec4 &a)
 
Is32vec4operator-= (const I32vec4 &a)
 
Is32vec4 operator<< (const M128 &a)
 
Is32vec4 operator<< (int count)
 
Is32vec4operator<<= (const M128 &a)
 
Is32vec4operator<<= (int count)
 
Is32vec4 operator>> (const M128 &a)
 
Is32vec4 operator>> (int count)
 
Is32vec4operator>>= (const M128 &a)
 
Is32vec4operator>>= (int count)
 
const intoperator[] (int i) const
 
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 168 of file dvec.h.

Constructor & Destructor Documentation

◆ Is32vec4() [1/3]

Is32vec4::Is32vec4 ( )
inline

Definition at line 171 of file dvec.h.

171{ }

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

◆ Is32vec4() [2/3]

Is32vec4::Is32vec4 ( __m128i  mm)
inline

Definition at line 172 of file dvec.h.

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

◆ Is32vec4() [3/3]

Is32vec4::Is32vec4 ( int  i3,
int  i2,
int  i1,
int  i0 
)
inline

Definition at line 173 of file dvec.h.

174 {
175 _MM_4DW(0,vec) = i0;
176 _MM_4DW(1,vec) = i1;
177 _MM_4DW(2,vec) = i2;
178 _MM_4DW(3,vec) = i3;
179 }
__m128i vec
Definition: dvec.h:61
#define _MM_4DW(element, vector)
Definition: dvec.h:48

Member Function Documentation

◆ operator&=()

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

Definition at line 183 of file dvec.h.

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

◆ operator+=()

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

Definition at line 187 of file dvec.h.

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

◆ operator-=()

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

Definition at line 188 of file dvec.h.

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

◆ operator<<() [1/2]

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

Definition at line 190 of file dvec.h.

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

◆ operator<<() [2/2]

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

Definition at line 191 of file dvec.h.

191{ 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]

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

Definition at line 192 of file dvec.h.

192{ return *this = (Is32vec4)_mm_sll_epi32(vec,a); }

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

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

Definition at line 193 of file dvec.h.

193{ return *this = (Is32vec4)_mm_slli_epi32(vec,count); }

◆ operator=()

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

Definition at line 181 of file dvec.h.

181{ return *this = (Is32vec4) a; }

◆ operator>>() [1/2]

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

Definition at line 195 of file dvec.h.

195{ return _mm_sra_epi32(vec,a); }
__m128i _mm_sra_epi32(__m128i a, __m128i count)
Definition: emmintrin.h:1389

◆ operator>>() [2/2]

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

Definition at line 196 of file dvec.h.

196{ return _mm_srai_epi32(vec,count); }
__m128i _mm_srai_epi32(__m128i a, int count)
Definition: emmintrin.h:1384

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

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

Definition at line 197 of file dvec.h.

197{ return *this = (Is32vec4) _mm_sra_epi32(vec,a); }

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

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

Definition at line 198 of file dvec.h.

198{ return *this = (Is32vec4) _mm_srai_epi32(vec,count); }

◆ operator[]() [1/2]

int & Is32vec4::operator[] ( int  i)
inline

Definition at line 218 of file dvec.h.

219 {
220 assert(static_cast<unsigned int>(i) < 4);
221 return _MM_4DW(i,vec);
222 }
#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 int & Is32vec4::operator[] ( int  i) const
inline

Definition at line 212 of file dvec.h.

213 {
214 assert(static_cast<unsigned int>(i) < 4);
215 return _MM_4DW(i,vec);
216 }

◆ operator^=()

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

Definition at line 185 of file dvec.h.

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

◆ operator|=()

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

Definition at line 184 of file dvec.h.

184{ return *this = (Is32vec4) _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: