|
|
|
@ -34,14 +34,7 @@ namespace glm{ |
|
|
|
|
|
|
|
|
|
# if !GLM_HAS_DEFAULTED_FUNCTIONS |
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, lowp>::tvec4() |
|
|
|
|
# ifndef GLM_FORCE_NO_CTOR_INIT |
|
|
|
|
: data(_mm_setzero_ps()) |
|
|
|
|
# endif |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, mediump>::tvec4() |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, simd>::tvec4() |
|
|
|
|
# ifndef GLM_FORCE_NO_CTOR_INIT |
|
|
|
|
: data(_mm_setzero_ps()) |
|
|
|
|
# endif |
|
|
|
@ -49,44 +42,18 @@ namespace glm{ |
|
|
|
|
# endif//!GLM_HAS_DEFAULTED_FUNCTIONS |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, lowp>::tvec4(float s) : |
|
|
|
|
data(_mm_set1_ps(s)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, mediump>::tvec4(float s) : |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, simd>::tvec4(float s) : |
|
|
|
|
data(_mm_set1_ps(s)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, lowp>::tvec4(float a, float b, float c, float d) : |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, simd>::tvec4(float a, float b, float c, float d) : |
|
|
|
|
data(_mm_set_ps(d, c, b, a)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, mediump>::tvec4(float a, float b, float c, float d) : |
|
|
|
|
data(_mm_set_ps(d, c, b, a)) |
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
template <typename U> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, lowp> & tvec4<float, lowp>::operator+=(U scalar) |
|
|
|
|
{ |
|
|
|
|
this->data = _mm_add_ps(this->data, _mm_set_ps1(static_cast<float>(scalar))); |
|
|
|
|
return *this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, lowp> & tvec4<float, lowp>::operator+=<float>(float scalar) |
|
|
|
|
{ |
|
|
|
|
this->data = _mm_add_ps(this->data, _mm_set_ps1(scalar)); |
|
|
|
|
return *this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
template <typename U> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, mediump> & tvec4<float, mediump>::operator+=(U scalar) |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, simd> & tvec4<float, simd>::operator+=(U scalar) |
|
|
|
|
{ |
|
|
|
|
this->data = _mm_add_ps(this->data, _mm_set_ps1(static_cast<float>(scalar))); |
|
|
|
|
return *this; |
|
|
|
@ -94,7 +61,7 @@ namespace glm{ |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
template <> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, mediump> & tvec4<float, mediump>::operator+=<float>(float scalar) |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, simd> & tvec4<float, simd>::operator+=<float>(float scalar) |
|
|
|
|
{ |
|
|
|
|
this->data = _mm_add_ps(this->data, _mm_set_ps1(scalar)); |
|
|
|
|
return *this; |
|
|
|
@ -102,15 +69,7 @@ namespace glm{ |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
template <typename U> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, lowp> & tvec4<float, lowp>::operator+=(tvec1<U, lowp> const & v) |
|
|
|
|
{ |
|
|
|
|
this->data = _mm_add_ps(this->data, _mm_set_ps1(static_cast<float>(v.x))); |
|
|
|
|
return *this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <> |
|
|
|
|
template <typename U> |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, mediump> & tvec4<float, mediump>::operator+=(tvec1<U, mediump> const & v) |
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<float, simd> & tvec4<float, simd>::operator+=(tvec1<U, simd> const & v) |
|
|
|
|
{ |
|
|
|
|
this->data = _mm_add_ps(this->data, _mm_set_ps1(static_cast<float>(v.x))); |
|
|
|
|
return *this; |
|
|
|
|