@@ -62,9 +62,9 @@ namespace ZEngine::Core::Maths
62
62
Matrix<T, R, C> operator +(Matrix<T, R, C>& other)
63
63
{
64
64
Matrix<T, R, C> result{};
65
- for (size_t i = 0 ; i < R ; ++i )
65
+ for (size_t j = 0 ; j < C ; ++j )
66
66
{
67
- for (size_t j = 0 ; j < C; j ++)
67
+ for (size_t i = 0 ; i < R; i ++)
68
68
{
69
69
result[i][j] = other[i][j] + (*this )[i][j];
70
70
}
@@ -75,9 +75,9 @@ namespace ZEngine::Core::Maths
75
75
Matrix<T, R, C> operator -(Matrix<T, R, C>& other)
76
76
{
77
77
Matrix<T, R, C> result{};
78
- for (size_t i = 0 ; i < R ; ++i )
78
+ for (size_t j = 0 ; j < C ; ++j )
79
79
{
80
- for (size_t j = 0 ; j < C; j ++)
80
+ for (size_t i = 0 ; i < R; i ++)
81
81
{
82
82
result[i][j] = (*this )[i][j] - other[i][j];
83
83
}
@@ -92,8 +92,7 @@ namespace ZEngine::Core::Maths
92
92
93
93
Mat2 ()
94
94
{
95
- for (size_t i = 0 ; i < 4 ; ++i)
96
- this ->m_data [i] = 0 ;
95
+ std::memset (this ->m_data , 0 , sizeof (this ->m_data ));
97
96
}
98
97
99
98
Mat2 (T m00, T m01, T m10, T m11)
@@ -181,7 +180,7 @@ namespace ZEngine::Core::Maths
181
180
}
182
181
return *this ;
183
182
}
184
- Mat2 inverse ()
183
+ Mat2 Inverse ()
185
184
{
186
185
T det = this ->determinant ();
187
186
ZENGINE_VALIDATE_ASSERT (det != 0 , " Matrix is singular and cannot be inverted" );
@@ -198,8 +197,7 @@ namespace ZEngine::Core::Maths
198
197
199
198
Mat3 ()
200
199
{
201
- for (size_t i = 0 ; i < 9 ; ++i)
202
- this ->m_data [i] = 0 ;
200
+ std::memset (this ->m_data , 0 , sizeof (this ->m_data ));
203
201
}
204
202
205
203
Mat3 (T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22)
@@ -292,7 +290,7 @@ namespace ZEngine::Core::Maths
292
290
return *this ;
293
291
}
294
292
295
- Mat3 inverse ()
293
+ Mat3 Inverse ()
296
294
{
297
295
T det = this ->determinant ();
298
296
ZENGINE_VALIDATE_ASSERT (det != 0 , " Matrix is singular and cannot be inverted" );
@@ -318,8 +316,7 @@ namespace ZEngine::Core::Maths
318
316
319
317
Mat4 ()
320
318
{
321
- for (size_t i = 0 ; i < 16 ; ++i)
322
- this ->m_data [i] = 0 ;
319
+ std::memset (this ->m_data , 0 , sizeof (this ->m_data ));
323
320
}
324
321
325
322
Mat4 (T m00, T m01, T m02, T m03, T m10, T m11, T m12, T m13, T m20, T m21, T m22, T m23, T m30, T m31, T m32, T m33)
@@ -423,7 +420,7 @@ namespace ZEngine::Core::Maths
423
420
this ->m_data [2 ] * (this ->m_data [4 ] * (this ->m_data [9 ] * this ->m_data [15 ] - this ->m_data [11 ] * this ->m_data [13 ]) - this ->m_data [5 ] * (this ->m_data [8 ] * this ->m_data [15 ] - this ->m_data [11 ] * this ->m_data [12 ]) + this ->m_data [7 ] * (this ->m_data [8 ] * this ->m_data [13 ] - this ->m_data [9 ] * this ->m_data [12 ])) -
424
421
this ->m_data [3 ] * (this ->m_data [4 ] * (this ->m_data [9 ] * this ->m_data [14 ] - this ->m_data [10 ] * this ->m_data [13 ]) - this ->m_data [5 ] * (this ->m_data [8 ] * this ->m_data [14 ] - this ->m_data [10 ] * this ->m_data [12 ]) + this ->m_data [6 ] * (this ->m_data [8 ] * this ->m_data [13 ] - this ->m_data [9 ] * this ->m_data [12 ])));
425
422
}
426
- Mat4<T> inverse () const
423
+ Mat4<T> Inverse () const
427
424
{
428
425
const T* m = this ->m_data ;
429
426
@@ -483,22 +480,22 @@ namespace ZEngine::Core::Maths
483
480
using Mat4f = Mat4<float >;
484
481
485
482
template <typename T>
486
- T identity ();
483
+ T Identity ();
487
484
488
485
template <>
489
- inline Mat2f identity <Mat2f>()
486
+ inline Mat2f Identity <Mat2f>()
490
487
{
491
488
return Mat2f (1 , 0 , 0 , 1 );
492
489
}
493
490
494
491
template <>
495
- inline Mat3f identity <Mat3f>()
492
+ inline Mat3f Identity <Mat3f>()
496
493
{
497
494
return Mat3f (1 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 1 );
498
495
}
499
496
500
497
template <>
501
- inline Mat4f identity <Mat4f>()
498
+ inline Mat4f Identity <Mat4f>()
502
499
{
503
500
return Mat4f (1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 1 );
504
501
}
@@ -507,9 +504,9 @@ namespace ZEngine::Core::Maths
507
504
Matrix<T, R, C> operator *(const Matrix<T, R, K>& a, const Matrix<T, K, C>& b)
508
505
{
509
506
Matrix<T, R, C> result{};
510
- for (size_t i = 0 ; i < R ; ++i )
507
+ for (size_t j = 0 ; j < C ; ++j )
511
508
{
512
- for (size_t j = 0 ; j < C ; ++j )
509
+ for (size_t i = 0 ; i < R ; ++i )
513
510
{
514
511
T sum = T{};
515
512
for (size_t k = 0 ; k < K; ++k)
0 commit comments