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:
parent
6489697c05
commit
e151e136d6
52 changed files with 2212 additions and 1556 deletions
|
|
@ -36,7 +36,7 @@ TTS_CASE_TPL("Test static map transposition-like operations",
|
|||
auto process = []<typename D>(D const& desc) {
|
||||
rotgen::matrix<T, rotgen::Dynamic, rotgen::Dynamic, O::value> base(D::rows,
|
||||
D::cols);
|
||||
rotgen::tests::prepare(base.rows(), base.cols(), desc.init_fn, base);
|
||||
rotgen::tests::prepare(rows(base), cols(base), desc.init_fn, base);
|
||||
|
||||
rotgen::map<rotgen::matrix<T, D::rows, D::cols, O::value>> input(
|
||||
base.data());
|
||||
|
|
@ -72,7 +72,7 @@ TTS_CASE_TPL("Test static map reduction-like operations",
|
|||
auto process = []<typename D>(D const& desc) {
|
||||
rotgen::matrix<T, rotgen::Dynamic, rotgen::Dynamic, O::value> base(D::rows,
|
||||
D::cols);
|
||||
rotgen::tests::prepare(base.rows(), base.cols(), desc.init_fn, base);
|
||||
rotgen::tests::prepare(rows(base), cols(base), desc.init_fn, base);
|
||||
|
||||
rotgen::map<rotgen::matrix<T, D::rows, D::cols, O::value>> input(
|
||||
base.data());
|
||||
|
|
|
|||
|
|
@ -9,40 +9,41 @@
|
|||
|
||||
#include "unit/tests.hpp"
|
||||
|
||||
TTS_CASE_TPL("Function size", rotgen::tests::types)<typename T, typename O>(
|
||||
tts::type<tts::types<T, O>>)
|
||||
TTS_CASE_TPL("Function size", rotgen::tests::types)
|
||||
|
||||
<typename T, typename O>(tts::type<tts::types<T, O>>)
|
||||
{
|
||||
T data[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
|
||||
|
||||
rotgen::map<rotgen::matrix<T, rotgen::Dynamic, rotgen::Dynamic, O::value>>
|
||||
dyn_map(data, 1, 12);
|
||||
TTS_EQUAL(dyn_map.rows(), rotgen::Index{1});
|
||||
TTS_EQUAL(dyn_map.cols(), rotgen::Index{12});
|
||||
TTS_EQUAL(rows(dyn_map), rotgen::Index{1});
|
||||
TTS_EQUAL(cols(dyn_map), rotgen::Index{12});
|
||||
|
||||
rotgen::map<rotgen::matrix<T, 1, 12, rotgen::RowMajor>> s112_map(data);
|
||||
TTS_EQUAL(s112_map.rows(), rotgen::Index{1});
|
||||
TTS_EQUAL(s112_map.cols(), rotgen::Index{12});
|
||||
TTS_EQUAL(rows(s112_map), rotgen::Index{1});
|
||||
TTS_EQUAL(cols(s112_map), rotgen::Index{12});
|
||||
TTS_EQUAL(s112_map.size(), rotgen::Index{12});
|
||||
|
||||
rotgen::map<rotgen::matrix<T, 12, 1, rotgen::ColMajor>> s121_map(data);
|
||||
TTS_EQUAL(s121_map.rows(), rotgen::Index{12});
|
||||
TTS_EQUAL(s121_map.cols(), rotgen::Index{1});
|
||||
TTS_EQUAL(rows(s121_map), rotgen::Index{12});
|
||||
TTS_EQUAL(cols(s121_map), rotgen::Index{1});
|
||||
TTS_EQUAL(s121_map.size(), rotgen::Index{12});
|
||||
|
||||
rotgen::map<rotgen::matrix<T, 3, 4, O::value>> s34_map(data);
|
||||
TTS_EQUAL(s34_map.rows(), rotgen::Index{3});
|
||||
TTS_EQUAL(s34_map.cols(), rotgen::Index{4});
|
||||
TTS_EQUAL(rows(s34_map), rotgen::Index{3});
|
||||
TTS_EQUAL(cols(s34_map), rotgen::Index{4});
|
||||
TTS_EQUAL(s34_map.size(), rotgen::Index{12});
|
||||
|
||||
rotgen::map<rotgen::matrix<T, 6, 2, O::value>> s62_map(data);
|
||||
TTS_EQUAL(s62_map.rows(), rotgen::Index{6});
|
||||
TTS_EQUAL(s62_map.cols(), rotgen::Index{2});
|
||||
TTS_EQUAL(rows(s62_map), rotgen::Index{6});
|
||||
TTS_EQUAL(cols(s62_map), rotgen::Index{2});
|
||||
TTS_EQUAL(s62_map.size(), rotgen::Index{12});
|
||||
};
|
||||
|
||||
TTS_CASE_TPL("Test coefficient accessors",
|
||||
rotgen::tests::types)<typename T, typename O>(
|
||||
tts::type<tts::types<T, O>>)
|
||||
TTS_CASE_TPL("Test coefficient accessors", rotgen::tests::types)
|
||||
|
||||
<typename T, typename O>(tts::type<tts::types<T, O>>)
|
||||
{
|
||||
using base = rotgen::matrix<T, rotgen::Dynamic, rotgen::Dynamic, O::value>;
|
||||
|
||||
|
|
@ -66,9 +67,9 @@ TTS_CASE_TPL("Test coefficient accessors",
|
|||
TTS_EQUAL(a(2, 2), 17);
|
||||
};
|
||||
|
||||
TTS_CASE_TPL("Test one index coefficient accessors",
|
||||
rotgen::tests::types)<typename T, typename O>(
|
||||
tts::type<tts::types<T, O>>)
|
||||
TTS_CASE_TPL("Test one index coefficient accessors", rotgen::tests::types)
|
||||
|
||||
<typename T, typename O>(tts::type<tts::types<T, O>>)
|
||||
{
|
||||
T data[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
|
||||
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@
|
|||
#include "unit/common/references.hpp"
|
||||
#include "unit/tests.hpp"
|
||||
|
||||
TTS_CASE_TPL("Test dynamic map cwise operations",
|
||||
rotgen::tests::types)<typename T, typename O>(
|
||||
tts::type<tts::types<T, O>>)
|
||||
TTS_CASE_TPL("Test dynamic map cwise operations", rotgen::tests::types)
|
||||
|
||||
<typename T, typename O>(tts::type<tts::types<T, O>>)
|
||||
{
|
||||
auto const cases = rotgen::tests::generate_matrix_references();
|
||||
for (auto const& [rows, cols, fn] : cases)
|
||||
|
|
@ -28,16 +28,16 @@ TTS_CASE_TPL("Test dynamic map cwise operations",
|
|||
}
|
||||
};
|
||||
|
||||
TTS_CASE_TPL("Test static map cwise operations",
|
||||
rotgen::tests::types)<typename T, typename O>(
|
||||
tts::type<tts::types<T, O>>)
|
||||
TTS_CASE_TPL("Test static map cwise operations", rotgen::tests::types)
|
||||
|
||||
<typename T, typename O>(tts::type<tts::types<T, O>>)
|
||||
{
|
||||
auto const cases = rotgen::tests::generate_static_matrix_references();
|
||||
|
||||
auto process = []<typename D>(D const& desc) {
|
||||
rotgen::matrix<T, rotgen::Dynamic, rotgen::Dynamic, O::value> base(D::rows,
|
||||
D::cols);
|
||||
rotgen::tests::prepare(base.rows(), base.cols(), desc.init_fn, base);
|
||||
rotgen::tests::prepare(rows(base), cols(base), desc.init_fn, base);
|
||||
|
||||
rotgen::map<rotgen::matrix<T, D::rows, D::cols, O::value>> input(
|
||||
base.data());
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@
|
|||
#include "unit/common/references.hpp"
|
||||
#include "unit/tests.hpp"
|
||||
|
||||
TTS_CASE_TPL("Test dynamic map norm operations",
|
||||
rotgen::tests::types)<typename T, typename O>(
|
||||
tts::type<tts::types<T, O>>)
|
||||
TTS_CASE_TPL("Test dynamic map norm operations", rotgen::tests::types)
|
||||
|
||||
<typename T, typename O>(tts::type<tts::types<T, O>>)
|
||||
{
|
||||
auto const cases = rotgen::tests::generate_matrix_references();
|
||||
for (auto const& [rows, cols, fn] : cases)
|
||||
|
|
@ -28,16 +28,16 @@ TTS_CASE_TPL("Test dynamic map norm operations",
|
|||
}
|
||||
};
|
||||
|
||||
TTS_CASE_TPL("Test static map norm operations",
|
||||
rotgen::tests::types)<typename T, typename O>(
|
||||
tts::type<tts::types<T, O>>)
|
||||
TTS_CASE_TPL("Test static map norm operations", rotgen::tests::types)
|
||||
|
||||
<typename T, typename O>(tts::type<tts::types<T, O>>)
|
||||
{
|
||||
auto const cases = rotgen::tests::generate_static_matrix_references();
|
||||
|
||||
auto process = []<typename D>(D const& desc) {
|
||||
rotgen::matrix<T, rotgen::Dynamic, rotgen::Dynamic, O::value> base(D::rows,
|
||||
D::cols);
|
||||
rotgen::tests::prepare(base.rows(), base.cols(), desc.init_fn, base);
|
||||
rotgen::tests::prepare(rows(base), cols(base), desc.init_fn, base);
|
||||
|
||||
rotgen::map<rotgen::matrix<T, D::rows, D::cols, O::value>> input(
|
||||
base.data());
|
||||
|
|
|
|||
|
|
@ -40,8 +40,8 @@ TTS_CASE("Validate Column Major Map with regular stride behavior")
|
|||
|
||||
r_map_t<r_mat_t<rotgen::ColMajor>> r_map(buffer.data(), rows, cols);
|
||||
|
||||
TTS_EQUAL(r_map.innerStride(), 1);
|
||||
TTS_EQUAL(r_map.outerStride(), 3);
|
||||
TTS_EQUAL(innerStride(r_map), 1);
|
||||
TTS_EQUAL(outerStride(r_map), 3);
|
||||
|
||||
e_map_t<e_mat_t<Eigen::ColMajor>> e_map(buffer.data(), rows, cols);
|
||||
|
||||
|
|
@ -59,8 +59,8 @@ TTS_CASE("Validate Column Major Map with specific outer stride behavior")
|
|||
r_map_t<r_mat_t<rotgen::ColMajor>, rotgen::outer_stride<>> r_map(
|
||||
buffer.data(), rows, cols, rotgen::outer_stride<>(rows + 1));
|
||||
|
||||
TTS_EQUAL(r_map.innerStride(), 1);
|
||||
TTS_EQUAL(r_map.outerStride(), 4);
|
||||
TTS_EQUAL(innerStride(r_map), 1);
|
||||
TTS_EQUAL(outerStride(r_map), 4);
|
||||
|
||||
e_map_t<e_mat_t<Eigen::ColMajor>, Eigen::OuterStride<>> e_map(
|
||||
buffer.data(), rows, cols, Eigen::OuterStride<>(rows + 1));
|
||||
|
|
@ -79,8 +79,8 @@ TTS_CASE("Validate Column Major Map with specific inner stride behavior")
|
|||
r_map_t<r_mat_t<rotgen::ColMajor>, rotgen::dynamic_stride> r_map(
|
||||
buffer.data(), rows, cols, rotgen::dynamic_stride(rows, 2));
|
||||
|
||||
TTS_EQUAL(r_map.innerStride(), 2);
|
||||
TTS_EQUAL(r_map.outerStride(), 3);
|
||||
TTS_EQUAL(innerStride(r_map), 2);
|
||||
TTS_EQUAL(outerStride(r_map), 3);
|
||||
|
||||
e_map_t<e_mat_t<Eigen::ColMajor>,
|
||||
Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic>>
|
||||
|
|
@ -100,8 +100,8 @@ TTS_CASE("Validate Row Major Map with regular stride behavior")
|
|||
|
||||
r_map_t<r_mat_t<rotgen::RowMajor>> r_map(buffer.data(), rows, cols);
|
||||
|
||||
TTS_EQUAL(r_map.innerStride(), 1);
|
||||
TTS_EQUAL(r_map.outerStride(), 4);
|
||||
TTS_EQUAL(innerStride(r_map), 1);
|
||||
TTS_EQUAL(outerStride(r_map), 4);
|
||||
|
||||
e_map_t<e_mat_t<Eigen::RowMajor>> e_map(buffer.data(), rows, cols);
|
||||
|
||||
|
|
@ -119,8 +119,8 @@ TTS_CASE("Validate Row Major Map with specific outer stride behavior")
|
|||
r_map_t<r_mat_t<rotgen::RowMajor>, rotgen::outer_stride<>> r_map(
|
||||
buffer.data(), rows, cols, rotgen::outer_stride<>(cols + 1));
|
||||
|
||||
TTS_EQUAL(r_map.innerStride(), 1);
|
||||
TTS_EQUAL(r_map.outerStride(), 5);
|
||||
TTS_EQUAL(innerStride(r_map), 1);
|
||||
TTS_EQUAL(outerStride(r_map), 5);
|
||||
|
||||
e_map_t<e_mat_t<Eigen::RowMajor>, Eigen::OuterStride<>> e_map(
|
||||
buffer.data(), rows, cols, Eigen::OuterStride<>(cols + 1));
|
||||
|
|
@ -139,8 +139,8 @@ TTS_CASE("Validate Row Major Map with specific inner stride behavior")
|
|||
r_map_t<r_mat_t<rotgen::RowMajor>, rotgen::dynamic_stride> r_map(
|
||||
buffer.data(), rows, cols, rotgen::dynamic_stride(2, cols));
|
||||
|
||||
TTS_EQUAL(r_map.innerStride(), 4);
|
||||
TTS_EQUAL(r_map.outerStride(), 2);
|
||||
TTS_EQUAL(innerStride(r_map), 4);
|
||||
TTS_EQUAL(outerStride(r_map), 2);
|
||||
|
||||
e_map_t<e_mat_t<Eigen::RowMajor>,
|
||||
Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic>>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue