|
|
@@ -15,20 +15,10 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::size_type fmat4x4SIMD::value_size()
|
|
|
return sizeof(value_type);
|
|
|
}
|
|
|
|
|
|
-GLM_FUNC_QUALIFIER fmat4x4SIMD::size_type fmat4x4SIMD::col_size()
|
|
|
-{
|
|
|
- return 4;
|
|
|
-}
|
|
|
-
|
|
|
-GLM_FUNC_QUALIFIER fmat4x4SIMD::size_type fmat4x4SIMD::row_size()
|
|
|
-{
|
|
|
- return 4;
|
|
|
-}
|
|
|
-
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD()
|
|
|
{
|
|
|
#ifndef GLM_SIMD_ENABLE_DEFAULT_INIT
|
|
|
- this->Data[0] = fvec4SIMD(1.0f, 0, 0, 0);
|
|
|
+ this->Data[0] = fvec4SIMD(1.0f, 0, 0, 0);
|
|
|
this->Data[1] = fvec4SIMD(0, 1.0f, 0, 0);
|
|
|
this->Data[2] = fvec4SIMD(0, 0, 1.0f, 0);
|
|
|
this->Data[3] = fvec4SIMD(0, 0, 0, 1.0f);
|
|
|
@@ -84,13 +74,13 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
|
|
(
|
|
|
- __m128 const in[4]
|
|
|
+ __m128 const in[4]
|
|
|
)
|
|
|
{
|
|
|
- this->Data[0] = in[0];
|
|
|
- this->Data[1] = in[1];
|
|
|
- this->Data[2] = in[2];
|
|
|
- this->Data[3] = in[3];
|
|
|
+ this->Data[0] = in[0];
|
|
|
+ this->Data[1] = in[1];
|
|
|
+ this->Data[2] = in[2];
|
|
|
+ this->Data[3] = in[3];
|
|
|
}
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
@@ -98,24 +88,20 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD::fmat4x4SIMD
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fvec4SIMD & fmat4x4SIMD::operator[]
|
|
|
(
|
|
|
- fmat4x4SIMD::size_type i
|
|
|
+ length i
|
|
|
)
|
|
|
{
|
|
|
- assert(
|
|
|
- //i >= fmat4x4SIMD::size_type(0) &&
|
|
|
- i < fmat4x4SIMD::col_size());
|
|
|
+ assert(i < this->length());
|
|
|
|
|
|
return this->Data[i];
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fvec4SIMD const & fmat4x4SIMD::operator[]
|
|
|
(
|
|
|
- fmat4x4SIMD::size_type i
|
|
|
+ length i
|
|
|
) const
|
|
|
{
|
|
|
- assert(
|
|
|
- //i >= fmat4x4SIMD::size_type(0) &&
|
|
|
- i < fmat4x4SIMD::col_size());
|
|
|
+ assert(i < this->length());
|
|
|
|
|
|
return this->Data[i];
|
|
|
}
|
|
|
@@ -132,7 +118,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD& fmat4x4SIMD::operator=
|
|
|
this->Data[1] = m[1];
|
|
|
this->Data[2] = m[2];
|
|
|
this->Data[3] = m[3];
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator+=
|
|
|
@@ -144,7 +130,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator+=
|
|
|
this->Data[1].Data = _mm_add_ps(this->Data[1].Data, m[1].Data);
|
|
|
this->Data[2].Data = _mm_add_ps(this->Data[2].Data, m[2].Data);
|
|
|
this->Data[3].Data = _mm_add_ps(this->Data[3].Data, m[3].Data);
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-=
|
|
|
@@ -157,7 +143,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-=
|
|
|
this->Data[2].Data = _mm_sub_ps(this->Data[2].Data, m[2].Data);
|
|
|
this->Data[3].Data = _mm_sub_ps(this->Data[3].Data, m[3].Data);
|
|
|
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator*=
|
|
|
@@ -166,7 +152,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator*=
|
|
|
)
|
|
|
{
|
|
|
sse_mul_ps(&this->Data[0].Data, &m.Data[0].Data, &this->Data[0].Data);
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator/=
|
|
|
@@ -177,7 +163,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator/=
|
|
|
__m128 Inv[4];
|
|
|
sse_inverse_ps(&m.Data[0].Data, Inv);
|
|
|
sse_mul_ps(&this->Data[0].Data, Inv, &this->Data[0].Data);
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator+=
|
|
|
@@ -190,7 +176,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator+=
|
|
|
this->Data[1].Data = _mm_add_ps(this->Data[1].Data, Operand);
|
|
|
this->Data[2].Data = _mm_add_ps(this->Data[2].Data, Operand);
|
|
|
this->Data[3].Data = _mm_add_ps(this->Data[3].Data, Operand);
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-=
|
|
|
@@ -203,7 +189,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-=
|
|
|
this->Data[1].Data = _mm_sub_ps(this->Data[1].Data, Operand);
|
|
|
this->Data[2].Data = _mm_sub_ps(this->Data[2].Data, Operand);
|
|
|
this->Data[3].Data = _mm_sub_ps(this->Data[3].Data, Operand);
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator*=
|
|
|
@@ -216,7 +202,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator*=
|
|
|
this->Data[1].Data = _mm_mul_ps(this->Data[1].Data, Operand);
|
|
|
this->Data[2].Data = _mm_mul_ps(this->Data[2].Data, Operand);
|
|
|
this->Data[3].Data = _mm_mul_ps(this->Data[3].Data, Operand);
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator/=
|
|
|
@@ -229,7 +215,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator/=
|
|
|
this->Data[1].Data = _mm_mul_ps(this->Data[1].Data, Operand);
|
|
|
this->Data[2].Data = _mm_mul_ps(this->Data[2].Data, Operand);
|
|
|
this->Data[3].Data = _mm_mul_ps(this->Data[3].Data, Operand);
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator++ ()
|
|
|
@@ -238,7 +224,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator++ ()
|
|
|
this->Data[1].Data = _mm_add_ps(this->Data[1].Data, one);
|
|
|
this->Data[2].Data = _mm_add_ps(this->Data[2].Data, one);
|
|
|
this->Data[3].Data = _mm_add_ps(this->Data[3].Data, one);
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-- ()
|
|
|
@@ -247,7 +233,7 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-- ()
|
|
|
this->Data[1].Data = _mm_sub_ps(this->Data[1].Data, one);
|
|
|
this->Data[2].Data = _mm_sub_ps(this->Data[2].Data, one);
|
|
|
this->Data[3].Data = _mm_sub_ps(this->Data[3].Data, one);
|
|
|
- return *this;
|
|
|
+ return *this;
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -256,32 +242,32 @@ GLM_FUNC_QUALIFIER fmat4x4SIMD & fmat4x4SIMD::operator-- ()
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
|
|
(
|
|
|
- const fmat4x4SIMD &m,
|
|
|
- float const & s
|
|
|
+ const fmat4x4SIMD &m,
|
|
|
+ float const & s
|
|
|
)
|
|
|
{
|
|
|
- return detail::fmat4x4SIMD
|
|
|
- (
|
|
|
- m[0] + s,
|
|
|
- m[1] + s,
|
|
|
- m[2] + s,
|
|
|
- m[3] + s
|
|
|
- );
|
|
|
+ return detail::fmat4x4SIMD
|
|
|
+ (
|
|
|
+ m[0] + s,
|
|
|
+ m[1] + s,
|
|
|
+ m[2] + s,
|
|
|
+ m[3] + s
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|
|
|
(
|
|
|
- float const & s,
|
|
|
- const fmat4x4SIMD &m
|
|
|
+ float const & s,
|
|
|
+ const fmat4x4SIMD &m
|
|
|
)
|
|
|
{
|
|
|
- return detail::fmat4x4SIMD
|
|
|
- (
|
|
|
- m[0] + s,
|
|
|
- m[1] + s,
|
|
|
- m[2] + s,
|
|
|
- m[3] + s
|
|
|
- );
|
|
|
+ return detail::fmat4x4SIMD
|
|
|
+ (
|
|
|
+ m[0] + s,
|
|
|
+ m[1] + s,
|
|
|
+ m[2] + s,
|
|
|
+ m[3] + s
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
GLM_FUNC_QUALIFIER fmat4x4SIMD operator+
|