More products
This commit is contained in:
parent
682202825e
commit
2554a83890
1 changed files with 23 additions and 21 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue