ReactOS 0.4.15-dev-8100-g1887773
I64vec2 Class Reference

#include <dvec.h>

Inheritance diagram for I64vec2:
Collaboration diagram for I64vec2:

Public Member Functions

 I64vec2 ()
 
 I64vec2 (__m128i mm)
 
 I64vec2 (__m64 q1, __m64 q0)
 
I64vec2operator= (const M128 &a)
 
I64vec2operator&= (const M128 &a)
 
I64vec2operator|= (const M128 &a)
 
I64vec2operator^= (const M128 &a)
 
I64vec2operator+= (const I64vec2 &a)
 
I64vec2operator-= (const I64vec2 &a)
 
I64vec2 operator<< (const I64vec2 &a)
 
I64vec2 operator<< (int count)
 
I64vec2operator<<= (const I64vec2 &a)
 
I64vec2operator<<= (int count)
 
I64vec2 operator>> (const I64vec2 &a)
 
I64vec2 operator>> (int count)
 
I64vec2operator>>= (const I64vec2 &a)
 
I64vec2operator>>= (int count)
 
const __int64operator[] (int i) const
 
__int64operator[] (int i)
 
- 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 93 of file dvec.h.

Constructor & Destructor Documentation

◆ I64vec2() [1/3]

I64vec2::I64vec2 ( )
inline

Definition at line 96 of file dvec.h.

96{ }

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

◆ I64vec2() [2/3]

I64vec2::I64vec2 ( __m128i  mm)
inline

Definition at line 97 of file dvec.h.

97: M128(mm) { }
M128()
Definition: dvec.h:64

◆ I64vec2() [3/3]

I64vec2::I64vec2 ( __m64  q1,
__m64  q0 
)
inline

Definition at line 99 of file dvec.h.

100 {
101 _MM_2QW(0,vec) = *(__int64*)&q0;
102 _MM_2QW(1,vec) = *(__int64*)&q1;
103 }
#define __int64
Definition: basetyps.h:16
__m128i vec
Definition: dvec.h:61
#define _MM_2QW(element, vector)
Definition: dvec.h:50

Member Function Documentation

◆ operator&=()

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

Definition at line 107 of file dvec.h.

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

◆ operator+=()

I64vec2 & I64vec2::operator+= ( const I64vec2 a)
inline

Definition at line 111 of file dvec.h.

111{ return *this = (I64vec2) _mm_add_epi64(vec,a); }
__m128i _mm_add_epi64(__m128i a, __m128i b)
Definition: emmintrin.h:1138

◆ operator-=()

I64vec2 & I64vec2::operator-= ( const I64vec2 a)
inline

Definition at line 112 of file dvec.h.

112{ return *this = (I64vec2) _mm_sub_epi64(vec,a); }
__m128i _mm_sub_epi64(__m128i a, __m128i b)
Definition: emmintrin.h:1280

◆ operator<<() [1/2]

I64vec2 I64vec2::operator<< ( const I64vec2 a)
inline

Definition at line 114 of file dvec.h.

114{ return _mm_sll_epi64(vec,a); }
__m128i _mm_sll_epi64(__m128i a, __m128i count)
Definition: emmintrin.h:1369

◆ operator<<() [2/2]

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

Definition at line 115 of file dvec.h.

115{ return _mm_slli_epi64(vec,count); }
__m128i _mm_slli_epi64(__m128i a, int count)
Definition: emmintrin.h:1364
GLuint GLuint GLsizei count
Definition: gl.h:1545

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

I64vec2 & I64vec2::operator<<= ( const I64vec2 a)
inline

Definition at line 116 of file dvec.h.

116{ return *this = (I64vec2) _mm_sll_epi64(vec,a); }

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

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

Definition at line 117 of file dvec.h.

117{ return *this = (I64vec2) _mm_slli_epi64(vec,count); }

◆ operator=()

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

Definition at line 105 of file dvec.h.

105{ return *this = (I64vec2) a; }

◆ operator>>() [1/2]

I64vec2 I64vec2::operator>> ( const I64vec2 a)
inline

Definition at line 118 of file dvec.h.

118{ return _mm_srl_epi64(vec,a); }
__m128i _mm_srl_epi64(__m128i a, __m128i count)
Definition: emmintrin.h:1422

◆ operator>>() [2/2]

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

Definition at line 119 of file dvec.h.

119{ return _mm_srli_epi64(vec,count); }
__m128i _mm_srli_epi64(__m128i a, int count)
Definition: emmintrin.h:1417

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

I64vec2 & I64vec2::operator>>= ( const I64vec2 a)
inline

Definition at line 120 of file dvec.h.

120{ return *this = (I64vec2) _mm_srl_epi64(vec,a); }

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

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

Definition at line 121 of file dvec.h.

121{ return *this = (I64vec2) _mm_srli_epi64(vec,count); }

◆ operator[]() [1/2]

__int64 & I64vec2::operator[] ( int  i)
inline

Definition at line 129 of file dvec.h.

130 {
131 assert(static_cast<unsigned int>(i) < 2);
132 return _MM_2QW(i,vec);
133 }
#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 __int64 & I64vec2::operator[] ( int  i) const
inline

Definition at line 123 of file dvec.h.

124 {
125 assert(static_cast<unsigned int>(i) < 2);
126 return _MM_2QW(i,vec);
127 }

◆ operator^=()

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

Definition at line 109 of file dvec.h.

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

◆ operator|=()

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

Definition at line 108 of file dvec.h.

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