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

@ -74,9 +74,9 @@
return result;
}
SOURCENAME CLASSNAME::transpose() const
TRANSSOURCENAME CLASSNAME::transpose() const
{
SOURCENAME result;
TRANSSOURCENAME result;
result.storage()->assign(storage_->data.transpose().eval());
return result;
}
@ -88,9 +88,9 @@
return result;
}
SOURCENAME CLASSNAME::adjoint() const
TRANSSOURCENAME CLASSNAME::adjoint() const
{
SOURCENAME result;
TRANSSOURCENAME result;
result.storage()->assign(storage_->data.adjoint().eval());
return result;
}
@ -329,6 +329,13 @@
return result;
}
SOURCENAME CLASSNAME::add(TRANSCLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data + rhs.storage()->data);
return result;
}
SOURCENAME CLASSNAME::sub(CLASSNAME const& rhs) const
{
SOURCENAME result;
@ -336,6 +343,13 @@
return result;
}
SOURCENAME CLASSNAME::sub(TRANSCLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data - rhs.storage()->data);
return result;
}
SOURCENAME CLASSNAME::mul(CLASSNAME const& rhs) const
{
SOURCENAME result;
@ -343,6 +357,13 @@
return result;
}
SOURCENAME CLASSNAME::mul(TRANSCLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data * rhs.storage()->data);
return result;
}
SOURCENAME CLASSNAME::mul(TYPE s) const
{
SOURCENAME result;