Implement normalize and normalized

See merge request oss/rotgen!24
This commit is contained in:
Joel Falcou 2025-09-18 16:25:51 +02:00
parent e7cf89a903
commit 3e2e6f253c
14 changed files with 169 additions and 65 deletions

View file

@ -225,6 +225,13 @@ struct CLASSNAME::payload
//==================================================================================================
// Matrix operations
//==================================================================================================
SOURCENAME CLASSNAME::normalized() const
{
SOURCENAME result;
storage_->apply([&](const auto& blk) { result.storage()->assign(blk.normalized().eval()); });
return result;
}
SOURCENAME CLASSNAME::transpose() const
{
SOURCENAME result;
@ -239,6 +246,13 @@ struct CLASSNAME::payload
return result;
}
SOURCENAME CLASSNAME::adjoint() const
{
SOURCENAME result;
storage_->apply([&](const auto& blk) { result.storage()->assign(blk.adjoint().eval()); });
return result;
}
SOURCENAME CLASSNAME::cwiseAbs() const
{
SOURCENAME result;
@ -267,14 +281,12 @@ struct CLASSNAME::payload
return result;
}
SOURCENAME CLASSNAME::adjoint() const
#if !defined(USE_CONST)
void CLASSNAME::normalize()
{
SOURCENAME result;
storage_->apply([&](const auto& blk) { result.storage()->assign(blk.adjoint().eval()); });
return result;
storage_->apply([](auto& blk) { blk.normalize(); });
}
#if !defined(USE_CONST)
void CLASSNAME::transposeInPlace()
{
storage_->apply([](auto& blk) { blk.transposeInPlace(); });