Unittest makeIdentity, transpose
mat2 m2 = mat2( 1.0f ); m2.transpose(); assert( m2.data == mat2( 1.0f ).data ); m2.makeIdentity(); assert( m2.data == [ [ 1.0f, 0.0f ], [ 0.0f, 1.0f ] ] ); m2.transpose(); assert( m2.data == [ [ 1.0f, 0.0f ], [ 0.0f, 1.0f ] ] ); assert( m2.data == m2.identity.data ); mat3 m3 = mat3( 1.1f, 1.2f, 1.3f, 2.1f, 2.2f, 2.3f, 3.1f, 3.2f, 3.3f ); m3.transpose(); assert( m3.data == [ [ 1.1f, 2.1f, 3.1f ], [ 1.2f, 2.2f, 3.2f ], [ 1.3f, 2.3f, 3.3f ] ] ); mat4 m4 = mat4( 2.0f ); m4.transpose(); assert( m4.data == mat4( 2.0f ).data ); m4.makeIdentity(); assert( m4.data == [ [ 1.0f, 0.0f, 0.0f, 0.0f ], [ 0.0f, 1.0f, 0.0f, 0.0f ], [ 0.0f, 0.0f, 1.0f, 0.0f ], [ 0.0f, 0.0f, 0.0f, 1.0f ] ] ); assert( m4.data == m4.identity.data );
Returns a transposed copy of the matrix. TODO : Remove this, create a function which returns a transposed matrix like Wrong logic anyway, as transpose( mat3x2 ) = mat2x3