RoboidControl-cpp/test/Matrix_test.cc
2024-02-12 11:56:51 +01:00

47 lines
1.0 KiB
C++

#if GTEST
#include <gtest/gtest.h>
#include <limits>
#include <math.h>
#include "Matrix.h"
TEST(MatrixSingle, Init) {
// zero
float data0[] = {};
MatrixOf<float> m0 = MatrixOf<float>(0, 0, data0);
// one
float data1[] = {1.0F};
MatrixOf<float> m1 = MatrixOf<float>(1, 1, data1);
// two
float data2[] = {1.0F, 2.0F, 3.0F, 4.0F};
MatrixOf<float> m2 = MatrixOf<float>(2, 2, data2);
// negative
MatrixOf<float> m_1 = MatrixOf<float>(-1, -1, data0);
}
TEST(MatrixSingle, Transpose) {
float data1[] = {1.0F};
MatrixOf<float> m = MatrixOf<float>(1, 1, data1);
float data2[] = {1.0F};
MatrixOf<float> r = MatrixOf<float>(1, 1, data2);
m.Transpose(&r);
float data2[] = {1.0F, 2.0F, 3.0F, 4.0F};
m = MatrixOf<float>(2, 2, data1);
m.Transpose(&r);
EXPECT_FLOAT_EQ(r.data[0], 1.0F);
EXPECT_FLOAT_EQ(r.data[1], 3.0F);
EXPECT_FLOAT_EQ(r.data[2], 2.0F);
EXPECT_FLOAT_EQ(r.data[3], 4.0F);
}
TEST(MatrixSingle, Multiply) {
float data[] = {1.0F};
MatrixOf<float> m = MatrixOf<float>(1, 1, data);
}
#endif