From 2e7e96bda2647bc31f42d988a9ceea092e2bc42c Mon Sep 17 00:00:00 2001 From: Joel Falcou Date: Sun, 12 Oct 2025 23:34:26 +0200 Subject: [PATCH] Fix transpose storage order issue See merge request oss/rotgen!38 --- include/rotgen/container/block/dynamic.hpp | 2 +- include/rotgen/container/block/dynamic/model.hpp | 8 ++++---- include/rotgen/container/map/dynamic.hpp | 2 +- include/rotgen/container/map/dynamic/model.hpp | 8 ++++---- include/rotgen/container/matrix/dynamic.hpp | 2 +- include/rotgen/container/matrix/dynamic/model.hpp | 8 ++++---- src/block/model.cpp | 8 ++++---- src/map/model.cpp | 8 ++++---- src/matrix/model.cpp | 8 ++++---- 9 files changed, 27 insertions(+), 27 deletions(-) diff --git a/include/rotgen/container/block/dynamic.hpp b/include/rotgen/container/block/dynamic.hpp index 2ca0049..13a3439 100644 --- a/include/rotgen/container/block/dynamic.hpp +++ b/include/rotgen/container/block/dynamic.hpp @@ -34,7 +34,7 @@ namespace rotgen static constexpr int storage_order = Ref::storage_order; static constexpr bool is_immutable = std::is_const_v; using concrete_type = matrix; - using transposed_type = matrix; + using transposed_type = matrix; using concrete_dynamic_type = matrix; static constexpr int RowsAtCompileTime = Rows; diff --git a/include/rotgen/container/block/dynamic/model.hpp b/include/rotgen/container/block/dynamic/model.hpp index 58eab26..d236c76 100644 --- a/include/rotgen/container/block/dynamic/model.hpp +++ b/include/rotgen/container/block/dynamic/model.hpp @@ -46,10 +46,10 @@ class ROTGEN_EXPORT CLASSNAME Index startRow() const; Index startCol() const; - SOURCENAME normalized() const; - TRANSSOURCENAME transpose() const; - SOURCENAME conjugate() const; - TRANSSOURCENAME adjoint() const; + SOURCENAME normalized() const; + SOURCENAME transpose() const; + SOURCENAME conjugate() const; + SOURCENAME adjoint() const; SOURCENAME cwiseAbs() const; SOURCENAME cwiseAbs2() const; diff --git a/include/rotgen/container/map/dynamic.hpp b/include/rotgen/container/map/dynamic.hpp index 9c57c9d..e18de45 100644 --- a/include/rotgen/container/map/dynamic.hpp +++ b/include/rotgen/container/map/dynamic.hpp @@ -45,7 +45,7 @@ namespace rotgen static constexpr bool IsVectorAtCompileTime = Ref::IsVectorAtCompileTime; static constexpr bool IsCompileTimeSized = RowsAtCompileTime != -1 && ColsAtCompileTime != -1; - using transposed_type = matrix; + using transposed_type = matrix; map(ptr_type ptr, Index r, Index c, stride_type s) : parent(ptr, r, c, strides(s,r,c)) { diff --git a/include/rotgen/container/map/dynamic/model.hpp b/include/rotgen/container/map/dynamic/model.hpp index 9f69792..cd5adfd 100644 --- a/include/rotgen/container/map/dynamic/model.hpp +++ b/include/rotgen/container/map/dynamic/model.hpp @@ -34,10 +34,10 @@ class ROTGEN_EXPORT CLASSNAME Index innerStride() const; Index outerStride() const; - SOURCENAME normalized() const; - TRANSSOURCENAME transpose() const; - SOURCENAME conjugate() const; - TRANSSOURCENAME adjoint() const; + SOURCENAME normalized() const; + SOURCENAME transpose() const; + SOURCENAME conjugate() const; + SOURCENAME adjoint() const; SOURCENAME cwiseAbs() const; SOURCENAME cwiseAbs2() const; diff --git a/include/rotgen/container/matrix/dynamic.hpp b/include/rotgen/container/matrix/dynamic.hpp index f70859b..ec5f811 100644 --- a/include/rotgen/container/matrix/dynamic.hpp +++ b/include/rotgen/container/matrix/dynamic.hpp @@ -40,7 +40,7 @@ namespace rotgen static constexpr bool has_static_storage = false; static constexpr bool is_immutable = false; - using transposed_type = matrix; + using transposed_type = matrix; matrix() : parent(Rows==-1?0:Rows,Cols==-1?0:Cols) {} diff --git a/include/rotgen/container/matrix/dynamic/model.hpp b/include/rotgen/container/matrix/dynamic/model.hpp index 2aa814b..95f6ca9 100644 --- a/include/rotgen/container/matrix/dynamic/model.hpp +++ b/include/rotgen/container/matrix/dynamic/model.hpp @@ -35,10 +35,10 @@ class ROTGEN_EXPORT CLASSNAME void resize(std::size_t new_rows, std::size_t new_cols); void conservativeResize(std::size_t new_rows, std::size_t new_cols); - CLASSNAME normalized() const; - TRANSCLASSNAME transpose() const; - CLASSNAME conjugate() const; - TRANSCLASSNAME adjoint() const; + CLASSNAME normalized() const; + CLASSNAME transpose() const; + CLASSNAME conjugate() const; + CLASSNAME adjoint() const; CLASSNAME cwiseAbs() const; CLASSNAME cwiseAbs2() const; diff --git a/src/block/model.cpp b/src/block/model.cpp index 889ecc1..a7eba05 100644 --- a/src/block/model.cpp +++ b/src/block/model.cpp @@ -234,9 +234,9 @@ struct CLASSNAME::payload return result; } - TRANSSOURCENAME CLASSNAME::transpose() const + SOURCENAME CLASSNAME::transpose() const { - TRANSSOURCENAME result; + SOURCENAME result; storage_->apply([&](const auto& blk) { result.storage()->assign(blk.transpose().eval()); }); return result; } @@ -248,9 +248,9 @@ struct CLASSNAME::payload return result; } - TRANSSOURCENAME CLASSNAME::adjoint() const + SOURCENAME CLASSNAME::adjoint() const { - TRANSSOURCENAME result; + SOURCENAME result; storage_->apply([&](const auto& blk) { result.storage()->assign(blk.adjoint().eval()); }); return result; } diff --git a/src/map/model.cpp b/src/map/model.cpp index da87ce3..7171af5 100644 --- a/src/map/model.cpp +++ b/src/map/model.cpp @@ -74,9 +74,9 @@ return result; } - TRANSSOURCENAME CLASSNAME::transpose() const + SOURCENAME CLASSNAME::transpose() const { - TRANSSOURCENAME result; + SOURCENAME result; result.storage()->assign(storage_->data.transpose().eval()); return result; } @@ -88,9 +88,9 @@ return result; } - TRANSSOURCENAME CLASSNAME::adjoint() const + SOURCENAME CLASSNAME::adjoint() const { - TRANSSOURCENAME result; + SOURCENAME result; result.storage()->assign(storage_->data.adjoint().eval()); return result; } diff --git a/src/matrix/model.cpp b/src/matrix/model.cpp index a4131d7..edf4566 100644 --- a/src/matrix/model.cpp +++ b/src/matrix/model.cpp @@ -82,9 +82,9 @@ CLASSNAME CLASSNAME::normalized() const return result; } -TRANSCLASSNAME CLASSNAME::transpose() const +CLASSNAME CLASSNAME::transpose() const { - TRANSCLASSNAME result; + CLASSNAME result; result.storage()->data = storage_->data.transpose(); return result; } @@ -96,9 +96,9 @@ CLASSNAME CLASSNAME::conjugate() const return result; } -TRANSCLASSNAME CLASSNAME::adjoint() const +CLASSNAME CLASSNAME::adjoint() const { - TRANSCLASSNAME result; + CLASSNAME result; result.storage()->data = storage_->data.adjoint(); return result; }