27 #if !defined(_GRID_MATRIX_H_) 28 #define _GRID_MATRIX_H_ 1 50 : mat(new
ergo_real[nbast_*nbast_]), nbast(nbast_), owned(true)
52 for(
int i= nbast*nbast-1; i >=0; --i) mat[i] = 0.0;
55 : mat(m), nbast(nbast_), owned(false)
60 : mat( (
ergo_real*)(m)), nbast(nbast_), owned(false)
67 mat[row + col*nbast] += val;
71 return mat[row + col*nbast];
~FullMatrix()
Definition: grid_matrix.h:64
double ergo_real
Definition: realtype.h:53
virtual const SparseMatrix * asSparse() const =0
Declares a sparse matrix optimized for the XC code.
bool owned
Definition: grid_matrix.h:48
int nbast
Definition: grid_matrix.h:47
virtual const ergo_real * asFull() const =0
Generic matrix interface.
Definition: grid_matrix.h:35
FullMatrix(int nbast_)
Definition: grid_matrix.h:49
virtual bool isSparse() const =0
virtual ~Matrix()
Definition: grid_matrix.h:41
Sparse matrix structure optimized for XC data access pattern.
Definition: sparse_matrix.h:54
FullMatrix(ergo_real *m, int nbast_)
Definition: grid_matrix.h:54
ergo_real at(int row, int col) const
Definition: grid_matrix.h:69
ergo_real * mat
Definition: grid_matrix.h:46
Definition: grid_matrix.h:44
void add(int row, int col, ergo_real val)
Definition: grid_matrix.h:65
virtual ergo_real at(int row, int col) const =0
FullMatrix(const ergo_real *m, int nbast_)
ugly-hack constructor.
Definition: grid_matrix.h:59
Definition: grid_matrix.h:32