//================================================================================================== /* ROTGEN - Runtime Overlay for Eigen Copyright : CODE RECKONS SPDX-License-Identifier: BSL-1.0 */ //================================================================================================== #include "unit/tests.hpp" #include TTS_CASE_TPL("Function size", rotgen::tests::types) ( tts::type< tts::types> ) { rotgen::matrix empty_matrix; rotgen::matrix matrix(3,4); rotgen::matrix row_vector(9,1); rotgen::matrix column_vector(1,5); TTS_EQUAL(empty_matrix.size(), rotgen::Index{0}); TTS_EQUAL(matrix.size(), rotgen::Index{12}); TTS_EQUAL(row_vector.size(), rotgen::Index{9}); TTS_EQUAL(column_vector.size(), rotgen::Index{5}); }; TTS_CASE_TPL("Resizing dynamic matrix", rotgen::tests::types) ( tts::type< tts::types> ) { rotgen::matrix a(2, 3); for(rotgen::Index r=0;r( tts::type< tts::types> ) { rotgen::matrix a; TTS_EXPECT_NOT_COMPILES(a, { a.resize(4, 5); }); }; TTS_CASE_TPL("Dynamix matrix conservative resizing", rotgen::tests::types) ( tts::type< tts::types> ) { rotgen::matrix a(2, 3); int i = 1; for(rotgen::Index r=0;r( tts::type< tts::types> ) { rotgen::matrix a; TTS_EXPECT_NOT_COMPILES(a, { a.conservativeResize(4, 5); }); }; TTS_CASE_TPL("Test coefficient accessors", rotgen::tests::types) ( tts::type< tts::types> ) { rotgen::matrix a(3, 5); for(rotgen::Index r=0;r( tts::type< tts::types> ) { auto a = [&]() { if constexpr(O::value == rotgen::ColMajor) return rotgen::matrix(1,8); else return rotgen::matrix(8,1); }(); TTS_EXPECT(a.IsVectorAtCompileTime); for(rotgen::Index s=0;s