25 #include <gtest/gtest.h>
29 #include <boost/archive/text_iarchive.hpp>
30 #include <boost/archive/text_oarchive.hpp>
33 #define private public
39 TEST(Matrix, Dimensions2x5) {
46 ASSERT_EQ(nm.rows(), N);
47 ASSERT_EQ(nm.cols(), M);
55 TEST(Matrix, Serialization) {
63 const char* fileName =
"saved.txt";
67 std::ofstream ofs(fileName);
68 boost::archive::text_oarchive ar(ofs);
80 std::ifstream ifs(fileName);
81 boost::archive::text_iarchive ar(ifs);
87 for (
size_t i =0; i< (size_t)nm.size(); i++)
88 ASSERT_EQ(nm(i), restored_mat(i));
95 TEST(Matrix, OperatorAssignmentFloat) {
101 for (
size_t i= 0; i<N; i++)
102 for (
size_t j= 0; j<M; j++)
107 for (
size_t i= 0; i<N; i++)
108 for (
size_t j= 0; j<M; j++)
109 ASSERT_EQ(nm2(i,j), i*j);
125 for (
size_t i =0; i< N*M; i++)
134 ASSERT_EQ(nm(0,0), 0);
135 ASSERT_EQ(nm(0,1), 2);
136 ASSERT_EQ(nm(0,2), 4);
137 ASSERT_EQ(nm(1,0), 1);
138 ASSERT_EQ(nm(1,1), 3);
139 ASSERT_EQ(nm(1,2), 5);
157 TEST(Matrix, ArmadilloCompatibilityTest) {
165 for (
size_t i =0; i< N*M; i++)
170 int main(
int argc,
char **argv) {
171 testing::InitGoogleTest(&argc, argv);
172 return RUN_ALL_TESTS();
void randn(T mean=0, T stddev=1)
TEST(Matrix, Dimensions2x5)
int main(int argc, char **argv)
Template-typed Matrix of dynamic size. Uses OpenBLAS if found by CMAKE - overloaded, specializations of * operator for types: float, double.