Resolve "[API-#2] Pseudo-privatization of rotgen entity member functions"

Closes #18

Co-authored-by: Jules Pénuchot <jules@penuchot.com>

See merge request oss/rotgen!50
This commit is contained in:
Jules Pénuchot 2025-12-17 20:48:00 +01:00 committed by Joel Falcou
parent 6489697c05
commit e151e136d6
52 changed files with 2212 additions and 1556 deletions

View file

@ -21,7 +21,7 @@ namespace rotgen::tests
using eigen_mat_t =
matrix<typename T::value_type, Dynamic, Dynamic, T::storage_order>;
eigen_mat_t eigen_result(rotgen_input.cols(), rotgen_input.rows());
eigen_mat_t eigen_result(cols(rotgen_input), rows(rotgen_input));
prepare([&](auto r, auto c) { return rotgen_input(c, r); }, eigen_result);
TTS_EQUAL(transpose(rotgen_input), eigen_result);
@ -42,7 +42,7 @@ namespace rotgen::tests
}
else
{
if (rotgen_input.rows() == rotgen_input.cols())
if (rows(rotgen_input) == cols(rotgen_input))
{
eigen_mat_t eigen_ref = rotgen_input;
transposeInPlace(rotgen_input);
@ -66,7 +66,7 @@ namespace rotgen::tests
using eigen_mat_t =
Eigen::Matrix<typename T::value_type, Eigen::Dynamic, Eigen::Dynamic>;
eigen_mat_t eigen_ref(rotgen_input.rows(), rotgen_input.cols());
eigen_mat_t eigen_ref(rows(rotgen_input), cols(rotgen_input));
prepare([&](auto r, auto c) { return rotgen_input(r, c); }, eigen_ref);
TTS_ULP_EQUAL(sum(rotgen_input), eigen_ref.sum(), 2);

View file

@ -25,10 +25,10 @@ namespace rotgen::tests
TTS_WHEN("Unary Cwise operations")
{
eigen_mat_t eigen_ref(rotgen_input.rows(), rotgen_input.cols());
eigen_mat_t eigen_ref(rows(rotgen_input), cols(rotgen_input));
prepare([&](auto r, auto c) { return rotgen_input(r, c); }, eigen_ref);
rotgen_mat_t rotgen_ref(rotgen_input.rows(), rotgen_input.cols());
rotgen_mat_t rotgen_ref(rows(rotgen_input), cols(rotgen_input));
TTS_AND_THEN("abs()")
{
@ -57,8 +57,8 @@ namespace rotgen::tests
auto mat = rotgen::abs(rotgen_input);
auto proper_input = rotgen::sqrt(mat);
for (rotgen::Index r = 0; r < rotgen_input.rows(); ++r)
for (rotgen::Index c = 0; c < rotgen_input.cols(); ++c)
for (rotgen::Index r = 0; r < rows(rotgen_input); ++r)
for (rotgen::Index c = 0; c < cols(rotgen_input); ++c)
TTS_ULP_EQUAL(proper_input(r, c), eigen_ref(r, c), 1);
}
}

View file

@ -20,7 +20,7 @@ namespace rotgen::tests
using eigen_mat_t =
Eigen::Matrix<typename T::value_type, Eigen::Dynamic, Eigen::Dynamic>;
eigen_mat_t eigen_ref(rotgen_input.rows(), rotgen_input.cols());
eigen_mat_t eigen_ref(rows(rotgen_input), cols(rotgen_input));
prepare([&](auto row, auto col) { return rotgen_input(row, col); },
eigen_ref);
@ -38,7 +38,7 @@ namespace rotgen::tests
using rotgen_mat_t =
rotgen::matrix<typename T::value_type, rotgen::Dynamic, rotgen::Dynamic,
T::storage_order>;
rotgen_mat_t rotgen_norm_ref(rotgen_input.rows(), rotgen_input.cols());
rotgen_mat_t rotgen_norm_ref(rows(rotgen_input), cols(rotgen_input));
prepare([&](auto row, auto col) { return eigen_normalized(row, col); },
rotgen_norm_ref);

View file

@ -55,8 +55,13 @@ namespace rotgen::tests
void prepare(auto fn, auto& output)
{
for (rotgen::Index r = 0; r < output.rows(); ++r)
for (rotgen::Index c = 0; c < output.cols(); ++c) output(r, c) = fn(r, c);
for (rotgen::Index r = 0; r < rows(output); ++r)
{
for (rotgen::Index c = 0; c < cols(output); ++c)
{
output(r, c) = fn(r, c);
}
}
}
auto default_init_function = [](auto row, auto col) {