50 void IsValid(
void)
const {
64 : iRow(iRow), iCol(iCol) {
NO_OP; };
124 int offset = 0)
const = 0;
128 std::vector<integer>& Ai, std::vector<integer>& Ap,
129 int offset = 0)
const = 0;
135 int offset = 0)
const = 0;
139 std::vector<integer>& Arow, std::vector<integer>& Acol,
140 std::vector<integer>& AcolSt,
141 int offset = 0)
const = 0;
152 std::vector<doublereal>&
Ax;
153 const std::vector<integer>&
Ai;
154 const std::vector<integer>&
Ap;
157 void IsValid(
void)
const {
164 std::vector<doublereal>& x,
165 const std::vector<integer>& i,
166 const std::vector<integer>& p);
188 int offset = 0)
const;
192 std::vector<integer>&
Ai, std::vector<integer>&
Ap,
193 int offset = 0)
const;
199 int offset = 0)
const;
203 std::vector<integer>& Arow, std::vector<integer>& Acol,
204 std::vector<integer>& AcolSt,
205 int offset = 0)
const;
213 std::vector<doublereal>& x,
214 const std::vector<integer>& i,
215 const std::vector<integer>& p);
225 void reset(
bool is_end =
false);
const_iterator(const CompactSparseMatrixHandler_tpl< off > &m, bool is_end=false)
virtual VectorHandler & MatTVecMul_base(void(VectorHandler::*op)(integer iRow, const doublereal &dCoef), VectorHandler &out, const VectorHandler &in) const
virtual integer MakeIndexForm(doublereal *const Ax, integer *const Arow, integer *const Acol, integer *const AcolSt, int offset=0) const =0
virtual integer MakeCompressedColumnForm(doublereal *const Ax, integer *const Ai, integer *const Ap, int offset=0) const =0
virtual CompactSparseMatrixHandler * Copy(void) const =0
virtual VectorHandler & MatVecMul_base(void(VectorHandler::*op)(integer iRow, const doublereal &dCoef), VectorHandler &out, const VectorHandler &in) const
const CompactSparseMatrixHandler_tpl< off > & m
void AddUnchecked(const CompactSparseMatrixHandler &m)
CompactSparseMatrixHandler_tpl< off >::const_iterator m_end
const CompactSparseMatrixHandler_tpl< off >::const_iterator & operator++(void) const
SparseMatrixElement(integer iRow, integer iCol, const doublereal &dCoef)
integer iGetNumRows(void) const
virtual integer MakeCompressedColumnForm(doublereal *const Ax, integer *const Ai, integer *const Ap, int offset=0) const
const std::vector< integer > & Ap
virtual ~SparseMatrixElement_base(void)
SparseMatrixHandler(const integer &n, const integer &nn=0)
CompactSparseMatrixHandler_tpl< off >::const_iterator begin(void) const
const std::vector< integer > & Ai
void reset(bool is_end=false)
virtual const doublereal * pdGetMat(void) const
integer iGetNumCols(void) const
bool operator!=(const CompactSparseMatrixHandler_tpl< off >::const_iterator &op) const
SparseMatrixElementConstRef(integer iRow, integer iCol, const doublereal &dCoef)
SparseMatrixElement_base(integer iRow, integer iCol)
SparseMatrixElementConstRef(void)
std::vector< doublereal > & Ax
virtual ~SparseMatrixHandler(void)
virtual integer MakeIndexForm(doublereal *const Ax, integer *const Arow, integer *const Acol, integer *const AcolSt, int offset=0) const
const CompactSparseMatrixHandler_tpl< off >::const_iterator & end(void) const
const SparseMatrixHandler::SparseMatrixElement * operator->(void)
virtual ~CompactSparseMatrixHandler_tpl(void)
SparseMatrixHandler::SparseMatrixElement elem
SparseMatrixElement_base(void)
bool operator==(const CompactSparseMatrixHandler_tpl< off >::const_iterator &op) const
SparseMatrixElementRef(integer iRow, integer iCol, doublereal &dCoef)
SparseMatrixElementRef(void)
const SparseMatrixHandler::SparseMatrixElement & operator*(void)
bool operator!=(const SparseMatrixElement_base &op) const
MatrixHandler & MatMatMul_base(void(MatrixHandler::*op)(integer iRow, integer iCol, const doublereal &dCoef), MatrixHandler &out, const MatrixHandler &in) const
CompactSparseMatrixHandler(const integer &n, const integer &nn, std::vector< doublereal > &x, const std::vector< integer > &i, const std::vector< integer > &p)
virtual VectorHandler & GetCol(integer icol, VectorHandler &out) const =0
CompactSparseMatrixHandler_tpl(const integer &n, const integer &nn, std::vector< doublereal > &x, const std::vector< integer > &i, const std::vector< integer > &p)
bool operator==(const SparseMatrixElement_base &op) const
MatrixHandler & MatTMatMul_base(void(MatrixHandler::*op)(integer iRow, integer iCol, const doublereal &dCoef), MatrixHandler &out, const MatrixHandler &in) const
virtual ~CompactSparseMatrixHandler()
SparseMatrixElement(void)