Operators now mix storage_order and returns properly sized results

See merge request oss/rotgen!30
This commit is contained in:
Joel Falcou 2025-09-28 21:50:05 +02:00
parent b61c91736f
commit 43d09f06fb
18 changed files with 237 additions and 88 deletions

View file

@ -427,9 +427,13 @@ namespace rotgen
}
template<typename R1, typename R2, int O1, typename S1, int O2, typename S2>
typename map<R1,O1,S1>::concrete_type operator*(map<R1, O1, S1> const& lhs, map<R2,O2,S2> const& rhs)
matrix<typename R1::value_type,R1::RowsAtCompileTime,R2::ColsAtCompileTime>
operator*(map<R1,O1,S1> const& lhs, map<R2,O2,S2> const& rhs)
{
using concrete_type = typename map<R1,O1,S1>::concrete_type;
using concrete_type = matrix< typename R1::value_type
, R1::RowsAtCompileTime,R2::ColsAtCompileTime
>;
return concrete_type(lhs.base() * rhs.base());
}