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:
Jules Pénuchot 2025-12-17 20:48:00 +01:00 committed by Joel Falcou
parent 6489697c05
commit e151e136d6
52 changed files with 2212 additions and 1556 deletions

View file

@ -58,12 +58,12 @@ CLASSNAME::~CLASSNAME() = default;
//==================================================================================================
// Matrix API
//==================================================================================================
rotgen::Index CLASSNAME::rows() const
rotgen::Index CLASSNAME::_rows() const
{
return storage_->data.rows();
}
rotgen::Index CLASSNAME::cols() const
rotgen::Index CLASSNAME::_cols() const
{
return storage_->data.cols();
}
@ -73,12 +73,12 @@ rotgen::Index CLASSNAME::size() const
return storage_->data.size();
}
rotgen::Index CLASSNAME::innerStride() const
rotgen::Index CLASSNAME::_innerStride() const
{
return storage_->data.innerStride();
}
rotgen::Index CLASSNAME::outerStride() const
rotgen::Index CLASSNAME::_outerStride() const
{
return storage_->data.outerStride();
}
@ -115,77 +115,77 @@ TYPE CLASSNAME::operator()(Index i) const
return storage_->data.data()[i];
}
SOURCENAME CLASSNAME::normalized() const
SOURCENAME CLASSNAME::_normalized() const
{
SOURCENAME result;
result.storage()->assign(storage_->data.normalized().eval());
return result;
}
SOURCENAME CLASSNAME::transpose() const
SOURCENAME CLASSNAME::_transpose() const
{
SOURCENAME result;
result.storage()->assign(storage_->data.transpose().eval());
return result;
}
SOURCENAME CLASSNAME::conjugate() const
SOURCENAME CLASSNAME::_conjugate() const
{
SOURCENAME result;
result.storage()->assign(storage_->data.conjugate().eval());
return result;
}
SOURCENAME CLASSNAME::adjoint() const
SOURCENAME CLASSNAME::_adjoint() const
{
SOURCENAME result;
result.storage()->assign(storage_->data.adjoint().eval());
return result;
}
SOURCENAME CLASSNAME::cwiseAbs() const
SOURCENAME CLASSNAME::_cwiseAbs() const
{
SOURCENAME result;
result.storage()->assign(storage_->data.cwiseAbs().eval());
return result;
}
SOURCENAME CLASSNAME::cwiseAbs2() const
SOURCENAME CLASSNAME::_cwiseAbs2() const
{
SOURCENAME result;
result.storage()->assign(storage_->data.cwiseAbs2().eval());
return result;
}
SOURCENAME CLASSNAME::cwiseInverse() const
SOURCENAME CLASSNAME::_cwiseInverse() const
{
SOURCENAME result;
result.storage()->assign(storage_->data.cwiseInverse().eval());
return result;
}
SOURCENAME CLASSNAME::cwiseSqrt() const
SOURCENAME CLASSNAME::_cwiseSqrt() const
{
SOURCENAME result;
result.storage()->assign(storage_->data.cwiseSqrt().eval());
return result;
}
SOURCENAME CLASSNAME::cwiseMin(CLASSNAME const& rhs) const
SOURCENAME CLASSNAME::_cwiseMin(CLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data.cwiseMin(rhs.storage()->data).eval());
return result;
}
SOURCENAME CLASSNAME::cwiseMax(CLASSNAME const& rhs) const
SOURCENAME CLASSNAME::_cwiseMax(CLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data.cwiseMax(rhs.storage()->data).eval());
return result;
}
SOURCENAME CLASSNAME::cwiseProduct(CLASSNAME const& rhs) const
SOURCENAME CLASSNAME::_cwiseProduct(CLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(
@ -193,7 +193,7 @@ SOURCENAME CLASSNAME::cwiseProduct(CLASSNAME const& rhs) const
return result;
}
SOURCENAME CLASSNAME::cwiseQuotient(CLASSNAME const& rhs) const
SOURCENAME CLASSNAME::_cwiseQuotient(CLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(
@ -201,21 +201,21 @@ SOURCENAME CLASSNAME::cwiseQuotient(CLASSNAME const& rhs) const
return result;
}
SOURCENAME CLASSNAME::cwiseMin(TYPE rhs) const
SOURCENAME CLASSNAME::_cwiseMin(TYPE rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data.cwiseMin(rhs).eval());
return result;
}
SOURCENAME CLASSNAME::cwiseMax(TYPE rhs) const
SOURCENAME CLASSNAME::_cwiseMax(TYPE rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data.cwiseMax(rhs).eval());
return result;
}
SOURCENAME CLASSNAME::inverse() const
SOURCENAME CLASSNAME::_inverse() const
{
SOURCENAME result;
result.storage()->assign(storage_->data.inverse().eval());
@ -223,93 +223,93 @@ SOURCENAME CLASSNAME::inverse() const
}
#if !defined(USE_CONST)
void CLASSNAME::normalize()
void CLASSNAME::_normalize()
{
storage_->data.normalize();
}
void CLASSNAME::transposeInPlace()
void CLASSNAME::_transposeInPlace()
{
storage_->data.transposeInPlace();
}
void CLASSNAME::adjointInPlace()
void CLASSNAME::_adjointInPlace()
{
storage_->data.adjointInPlace();
}
#endif
TYPE CLASSNAME::dot(CLASSNONCONSTNAME const& rhs) const
TYPE CLASSNAME::_dot(CLASSNONCONSTNAME const& rhs) const
{
return storage_->data.reshaped().dot(rhs.storage()->data.reshaped());
}
TYPE CLASSNAME::dot(CLASSCONSTNAME const& rhs) const
TYPE CLASSNAME::_dot(CLASSCONSTNAME const& rhs) const
{
return storage_->data.reshaped().dot(rhs.storage()->data.reshaped());
}
TYPE CLASSNAME::dot(TRANSCLASSNONCONSTNAME const& rhs) const
TYPE CLASSNAME::_dot(TRANSCLASSNONCONSTNAME const& rhs) const
{
return storage_->data.reshaped().dot(rhs.storage()->data.reshaped());
}
TYPE CLASSNAME::dot(TRANSCLASSCONSTNAME const& rhs) const
TYPE CLASSNAME::_dot(TRANSCLASSCONSTNAME const& rhs) const
{
return storage_->data.reshaped().dot(rhs.storage()->data.reshaped());
}
TYPE CLASSNAME::sum() const
TYPE CLASSNAME::_sum() const
{
return storage_->data.sum();
}
TYPE CLASSNAME::prod() const
TYPE CLASSNAME::_prod() const
{
return storage_->data.prod();
}
TYPE CLASSNAME::mean() const
TYPE CLASSNAME::_mean() const
{
return storage_->data.mean();
}
TYPE CLASSNAME::trace() const
TYPE CLASSNAME::_trace() const
{
return storage_->data.trace();
}
TYPE CLASSNAME::minCoeff() const
TYPE CLASSNAME::_minCoeff() const
{
return storage_->data.minCoeff();
}
TYPE CLASSNAME::maxCoeff() const
TYPE CLASSNAME::_maxCoeff() const
{
return storage_->data.maxCoeff();
}
TYPE CLASSNAME::minCoeff(Index* row, Index* col) const
TYPE CLASSNAME::_minCoeff(Index* row, Index* col) const
{
return storage_->data.minCoeff(row, col);
}
TYPE CLASSNAME::maxCoeff(Index* row, Index* col) const
TYPE CLASSNAME::_maxCoeff(Index* row, Index* col) const
{
return storage_->data.maxCoeff(row, col);
}
TYPE CLASSNAME::squaredNorm() const
TYPE CLASSNAME::_squaredNorm() const
{
return storage_->data.squaredNorm();
}
TYPE CLASSNAME::norm() const
TYPE CLASSNAME::_norm() const
{
return storage_->data.norm();
}
TYPE CLASSNAME::lpNorm(int p) const
TYPE CLASSNAME::_lpNorm(int p) const
{
if (p == 1) return storage_->data.lpNorm<1>();
else if (p == 2) return storage_->data.lpNorm<2>();
@ -317,27 +317,27 @@ TYPE CLASSNAME::lpNorm(int p) const
}
#if !defined(USE_CONST)
void CLASSNAME::setZero()
void CLASSNAME::_setZero()
{
storage_->data.setZero();
}
void CLASSNAME::setOnes()
void CLASSNAME::_setOnes()
{
storage_->data.setOnes();
}
void CLASSNAME::setIdentity()
void CLASSNAME::_setIdentity()
{
storage_->data.setIdentity();
}
void CLASSNAME::setRandom()
void CLASSNAME::_setRandom()
{
storage_->data.setRandom();
}
void CLASSNAME::setConstant(TYPE s)
void CLASSNAME::_setConstant(TYPE s)
{
storage_->data.setConstant(s);
}
@ -471,56 +471,56 @@ CLASSNAME& CLASSNAME::operator/=(TYPE s)
}
#endif
SOURCENAME CLASSNAME::add(CLASSNAME const& rhs) const
SOURCENAME CLASSNAME::_add(CLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data + rhs.storage_->data);
return result;
}
SOURCENAME CLASSNAME::add(TRANSCLASSNAME const& rhs) const
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 CLASSNAME::_sub(CLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data - rhs.storage_->data);
return result;
}
SOURCENAME CLASSNAME::sub(TRANSCLASSNAME const& rhs) const
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 CLASSNAME::_mul(CLASSNAME const& rhs) const
{
SOURCENAME result;
result.storage()->assign(storage_->data * rhs.storage_->data);
return result;
}
SOURCENAME CLASSNAME::mul(TRANSCLASSNAME const& rhs) const
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 CLASSNAME::_mul(TYPE s) const
{
SOURCENAME result;
result.storage()->assign(storage_->data * s);
return result;
}
SOURCENAME CLASSNAME::div(TYPE s) const
SOURCENAME CLASSNAME::_div(TYPE s) const
{
SOURCENAME result;
result.storage()->assign(storage_->data / s);