add .as_dense()

This commit is contained in:
conrad
2024-06-16 18:20:21 +10:00
parent caa5012e25
commit 4b72ceda11
10 changed files with 63 additions and 1 deletions
+2
View File
@@ -326,6 +326,7 @@ namespace arma
#include "armadillo_bits/op_sp_vecnorm_bones.hpp"
#include "armadillo_bits/op_sp_diagvec_bones.hpp"
#include "armadillo_bits/op_sp_nonzeros_bones.hpp"
#include "armadillo_bits/op_sp_as_dense_bones.hpp"
#include "armadillo_bits/op_powmat_bones.hpp"
#include "armadillo_bits/op_rank_bones.hpp"
#include "armadillo_bits/op_row_as_mat_bones.hpp"
@@ -778,6 +779,7 @@ namespace arma
#include "armadillo_bits/op_sp_vecnorm_meat.hpp"
#include "armadillo_bits/op_sp_diagvec_meat.hpp"
#include "armadillo_bits/op_sp_nonzeros_meat.hpp"
#include "armadillo_bits/op_sp_as_dense_meat.hpp"
#include "armadillo_bits/op_powmat_meat.hpp"
#include "armadillo_bits/op_rank_meat.hpp"
#include "armadillo_bits/op_row_as_mat_meat.hpp"
+2
View File
@@ -109,6 +109,8 @@ struct SpBase
arma_warn_unused inline const SpOp<derived,spop_vectorise_col> as_col() const;
arma_warn_unused inline const SpOp<derived,spop_vectorise_row> as_row() const;
arma_warn_unused inline const SpToDOp<derived,op_sp_as_dense> as_dense() const;
};
+10
View File
@@ -880,4 +880,14 @@ SpBase<elem_type, derived>::as_row() const
template<typename elem_type, typename derived>
inline
const SpToDOp<derived,op_sp_as_dense>
SpBase<elem_type, derived>::as_dense() const
{
return SpToDOp<derived,op_sp_as_dense>( (*this).get_ref() );
}
//! @}
+2
View File
@@ -62,6 +62,8 @@ class SpCol : public SpMat<eT>
arma_warn_unused inline const SpOp<SpCol<eT>,spop_htrans> ht() const;
arma_warn_unused inline const SpOp<SpCol<eT>,spop_strans> st() const;
arma_warn_unused inline const SpToDOp<SpCol<eT>,op_sp_as_dense> as_dense() const;
inline void shed_row (const uword row_num);
inline void shed_rows(const uword in_row1, const uword in_row2);
+10
View File
@@ -244,6 +244,16 @@ SpCol<eT>::st() const
template<typename eT>
inline
const SpToDOp<SpCol<eT>,op_sp_as_dense>
SpCol<eT>::as_dense() const
{
return SpToDOp<SpCol<eT>,op_sp_as_dense>(*this);
}
//! remove specified row
template<typename eT>
inline
+2
View File
@@ -62,6 +62,8 @@ class SpRow : public SpMat<eT>
arma_warn_unused inline const SpOp<SpRow<eT>,spop_htrans> ht() const;
arma_warn_unused inline const SpOp<SpRow<eT>,spop_strans> st() const;
arma_warn_unused inline const SpToDOp<SpRow<eT>,op_sp_as_dense> as_dense() const;
inline void shed_col (const uword col_num);
inline void shed_cols(const uword in_col1, const uword in_col2);
+10
View File
@@ -246,6 +246,16 @@ SpRow<eT>::st() const
template<typename eT>
inline
const SpToDOp<SpRow<eT>,op_sp_as_dense>
SpRow<eT>::as_dense() const
{
return SpToDOp<SpRow<eT>,op_sp_as_dense>(*this);
}
//! remove specified columns
template<typename eT>
inline
@@ -361,6 +361,8 @@ class SpSubview_col : public SpSubview<eT>
arma_warn_unused inline const SpOp<SpSubview_col<eT>,spop_htrans> ht() const;
arma_warn_unused inline const SpOp<SpSubview_col<eT>,spop_strans> st() const;
arma_warn_unused inline const SpToDOp<SpSubview_col<eT>,op_sp_as_dense> as_dense() const;
protected:
@@ -399,6 +401,8 @@ class SpSubview_row : public SpSubview<eT>
arma_warn_unused inline const SpOp<SpSubview_row<eT>,spop_htrans> ht() const;
arma_warn_unused inline const SpOp<SpSubview_row<eT>,spop_strans> st() const;
arma_warn_unused inline const SpToDOp<SpSubview_row<eT>,op_sp_as_dense> as_dense() const;
protected:
+20
View File
@@ -1907,6 +1907,16 @@ SpSubview_col<eT>::st() const
template<typename eT>
inline
const SpToDOp<SpSubview_col<eT>,op_sp_as_dense>
SpSubview_col<eT>::as_dense() const
{
return SpToDOp<SpSubview_col<eT>,op_sp_as_dense>(*this);
}
//
//
//
@@ -2013,4 +2023,14 @@ SpSubview_row<eT>::st() const
template<typename eT>
inline
const SpToDOp<SpSubview_row<eT>,op_sp_as_dense>
SpSubview_row<eT>::as_dense() const
{
return SpToDOp<SpSubview_row<eT>,op_sp_as_dense>(*this);
}
//! @}
+1 -1
View File
@@ -138,7 +138,7 @@ class spglue_min;
class spglue_rel_lt;
class spglue_rel_gt;
class op_sp_as_dense;
class op_internal_equ;
class op_internal_plus;