|
|
@ -1,34 +1,33 @@ |
|
|
|
#include <stdio.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include <matrix/math.hpp> |
|
|
|
|
|
|
|
#include "test_macros.hpp" |
|
|
|
#include "test_macros.hpp" |
|
|
|
|
|
|
|
|
|
|
|
using namespace matrix; |
|
|
|
#include <matrix/math.hpp> |
|
|
|
|
|
|
|
|
|
|
|
template class Vector<float, 3>; |
|
|
|
using matrix::Vector3f; |
|
|
|
|
|
|
|
using matrix::Matrix; |
|
|
|
|
|
|
|
|
|
|
|
int main() |
|
|
|
int main() |
|
|
|
{ |
|
|
|
{ |
|
|
|
Vector3f a(1, 0, 0); |
|
|
|
Vector3f a(1, 0, 0); |
|
|
|
Vector3f b(0, 1, 0); |
|
|
|
Vector3f b(0, 1, 0); |
|
|
|
Vector3f c = a.cross(b); |
|
|
|
Vector3f c = a.cross(b); |
|
|
|
TEST(isEqual(c, Vector3f(0,0,1))); |
|
|
|
TEST(matrix::isEqual(c, Vector3f(0,0,1))); |
|
|
|
c = a % b; |
|
|
|
c = a % b; |
|
|
|
TEST (isEqual(c, Vector3f(0,0,1))); |
|
|
|
TEST(matrix::isEqual(c, Vector3f(0,0,1))); |
|
|
|
Matrix<float, 3, 1> d(c); |
|
|
|
Matrix<float, 3, 1> d(c); |
|
|
|
Vector3f e(d); |
|
|
|
Vector3f e(d); |
|
|
|
TEST (isEqual(e, d)); |
|
|
|
TEST (matrix::isEqual(e, d)); |
|
|
|
float data[] = {4, 5, 6}; |
|
|
|
float data[] = {4, 5, 6}; |
|
|
|
Vector3f f(data); |
|
|
|
Vector3f f(data); |
|
|
|
TEST(isEqual(f, Vector3f(4, 5, 6))); |
|
|
|
TEST(matrix::isEqual(f, Vector3f(4, 5, 6))); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TEST(matrix::isEqual(a + b, Vector3f(1, 1, 0))); |
|
|
|
|
|
|
|
TEST(matrix::isEqual(a - b, Vector3f(1, -1, 0))); |
|
|
|
|
|
|
|
TEST(matrix::isEqualF(a * b, 0.0f)); |
|
|
|
|
|
|
|
TEST(matrix::isEqual(-a, Vector3f(-1, 0, 0))); |
|
|
|
|
|
|
|
TEST(matrix::isEqual(a.unit(), a)); |
|
|
|
|
|
|
|
TEST(matrix::isEqual(a.unit(), a.normalized())); |
|
|
|
|
|
|
|
TEST(matrix::isEqual(a*2.0, Vector3f(2, 0, 0))); |
|
|
|
|
|
|
|
|
|
|
|
TEST(isEqual(a + b, Vector3f(1, 1, 0))); |
|
|
|
|
|
|
|
TEST(isEqual(a - b, Vector3f(1, -1, 0))); |
|
|
|
|
|
|
|
TEST(isEqualF(a * b, 0.0f)); |
|
|
|
|
|
|
|
TEST(isEqual(-a, Vector3f(-1, 0, 0))); |
|
|
|
|
|
|
|
TEST(isEqual(a.unit(), a)); |
|
|
|
|
|
|
|
TEST(isEqual(a.unit(), a.normalized())); |
|
|
|
|
|
|
|
TEST(isEqual(a*2.0, Vector3f(2, 0, 0))); |
|
|
|
|
|
|
|
return 0; |
|
|
|
return 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|