More products

This commit is contained in:
Joel Falcou 2025-05-12 14:51:20 +02:00
parent 682202825e
commit 2554a83890

View file

@ -10,20 +10,20 @@
namespace rotgen
{
//================================================================================================
// Internal paylod
//================================================================================================
struct matrix_impl64::payload
{
Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic> data;
payload(std::size_t r=0, std::size_t c=0) : data(r, c) {}
};
std::ostream& operator<<(std::ostream& os,matrix_impl64 const& m)
{
return os << m.storage_->data;
}
matrix_impl64::matrix_impl64(std::size_t r, std::size_t c)
: storage_(std::make_unique<payload>(r,c))
{}
//==================================================================================================
// Constructors & Special Members
//==================================================================================================
matrix_impl64::matrix_impl64(std::size_t r, std::size_t c) : storage_(std::make_unique<payload>(r,c)) {}
matrix_impl64::matrix_impl64(matrix_impl64 const& o)
: matrix_impl64(o.storage_->data.rows(),o.storage_->data.cols())
@ -42,24 +42,26 @@ namespace rotgen
matrix_impl64::~matrix_impl64() = default;
std::size_t matrix_impl64::rows() const
//==================================================================================================
// Matrix API
//==================================================================================================
std::size_t matrix_impl64::rows() const { return static_cast<std::size_t>(storage_->data.rows()); }
std::size_t matrix_impl64::cols() const { return static_cast<std::size_t>(storage_->data.cols()); }
double& matrix_impl64::operator()(std::size_t i, std::size_t j) { return storage_->data(i,j); }
double const& matrix_impl64::operator()(std::size_t i, std::size_t j) const { return storage_->data(i,j); }
//==================================================================================================
// Operators
//==================================================================================================
std::ostream& operator<<(std::ostream& os,matrix_impl64 const& m)
{
return static_cast<std::size_t>(storage_->data.rows());
return os << m.storage_->data;
}
std::size_t matrix_impl64::cols() const
bool operator==(matrix_impl64 const& lhs, matrix_impl64 const& rhs)
{
return static_cast<std::size_t>(storage_->data.cols());
}
double& matrix_impl64::operator()(std::size_t i, std::size_t j)
{
return storage_->data(i,j);
}
double const& matrix_impl64::operator()(std::size_t i, std::size_t j) const
{
return storage_->data(i,j);
return lhs.storage_->data == rhs.storage_->data;
}
matrix_impl64& matrix_impl64::operator+=(matrix_impl64 const& rhs)