54 lines
No EOL
1.2 KiB
C++
54 lines
No EOL
1.2 KiB
C++
//==================================================================================================
|
|
/*
|
|
ROTGEN - Runtime Overlay for Eigen
|
|
Copyright : CODE RECKONS
|
|
SPDX-License-Identifier: BSL-1.0
|
|
*/
|
|
//==================================================================================================
|
|
#define TTS_MAIN
|
|
#include <rotgen/matrix.hpp>
|
|
#include "tts.hpp"
|
|
|
|
TTS_CASE("Check operator*")
|
|
{
|
|
rotgen::matrix<double> a(2,2);
|
|
rotgen::matrix<double> ref(2,2);
|
|
|
|
for(std::size_t r=0;r<a.rows();r++)
|
|
{
|
|
for(std::size_t c=0;c<a.cols();c++)
|
|
{
|
|
a(r,c) = (1+c) + 10*(1+r);
|
|
ref(r,c) = ((1+c) + 10*(1+r)) * 10.5;
|
|
}
|
|
}
|
|
|
|
TTS_EQUAL(a * 10.5, ref);
|
|
TTS_EQUAL(10.5 * a, ref);
|
|
|
|
a *= 10.5;
|
|
TTS_EQUAL(a, ref);
|
|
};
|
|
|
|
TTS_CASE("Check operator matrix + matrix")
|
|
{
|
|
rotgen::matrix<double> mat1(3,4);
|
|
rotgen::matrix<double> mat2(3,4);
|
|
rotgen::matrix<double> mat_sum(3,4);
|
|
|
|
for(std::size_t r=0;r<mat1.rows();r++)
|
|
{
|
|
for(std::size_t c=0;c<mat1.cols();c++)
|
|
{
|
|
mat1(r,c) = r + 2 * c + 3;
|
|
mat2(r,c) = r - c - 54;
|
|
mat_sum(r,c) = 2 * r + c - 51;
|
|
}
|
|
}
|
|
|
|
TTS_EQUAL(mat1 + mat2, mat_sum);
|
|
TTS_EQUAL(mat2 + mat1, mat_sum);
|
|
|
|
mat1 += mat2;
|
|
TTS_EQUAL(mat1, mat_sum);
|
|
}; |