12# include <catch2/catch_all.hpp>
14TEST_CASE(
"Internal consistency checks and example use cases for MatrixMath.h",
"[MatrixMath]") {
18 std::vector<double> cHeat;
20 cHeat.push_back(+1.1562261074E+03);
21 cHeat.push_back(+2.0994549103E+00);
22 cHeat.push_back(+7.7175381057E-07);
23 cHeat.push_back(-3.7008444051E-20);
25 std::vector<std::vector<double>> cHeat2D;
26 cHeat2D.push_back(cHeat);
27 cHeat2D.push_back(cHeat);
29 SECTION(
"Pretty printing tests") {
31 Eigen::MatrixXd matrix = Eigen::MatrixXd::Random(4, 1);
33 if (PRINT) std::cout <<
'\n';
36 if (PRINT) std::cout << tmpStr <<
'\n';
38 if (PRINT) std::cout << tmpStr <<
'\n';
40 if (PRINT) std::cout << tmpStr <<
'\n';
43 if (PRINT) std::cout << tmpStr <<
'\n';
45 if (PRINT) std::cout << tmpStr <<
'\n';
47 if (PRINT) std::cout << tmpStr <<
'\n';
49 if (PRINT) std::cout << tmpStr <<
'\n';
52 SECTION(
"Matrix modifications") {
67 SECTION(
"std::vector to Eigen::Matrix and back") {
68 std::vector<std::vector<double>> vec2D(cHeat2D);
70 for (
size_t i = 0; i < static_cast<size_t>(matrix.cols()); ++i) {
71 for (
size_t j = 0; j < static_cast<size_t>(matrix.rows()); ++j) {
72 CHECK(std::abs(matrix(j, i) - vec2D[j][i]) <= 1e-10);
76 for (
size_t i = 0; i < static_cast<size_t>(matrix.cols()); ++i) {
77 for (
size_t j = 0; j < static_cast<size_t>(matrix.rows()); ++j) {
78 CHECK(std::abs(matrix(j, i) - vec2D[j][i]) <= 1e-10);
81 std::vector<double> vec1D(cHeat);
83 for (
size_t i = 0; i < static_cast<size_t>(matrix.cols()); ++i) {
84 for (
size_t j = 0; j < static_cast<size_t>(matrix.rows()); ++j) {
85 CHECK(std::abs(matrix(j, i) - vec1D[j]) <= 1e-10);
89 for (
size_t i = 0; i < static_cast<size_t>(matrix.cols()); ++i) {
90 for (
size_t j = 0; j < static_cast<size_t>(matrix.rows()); ++j) {
91 CHECK(std::abs(matrix(j, i) - vec1D[j]) <= 1e-10);