27#ifndef GSPARSEVECTOR_HPP
28#define GSPARSEVECTOR_HPP
36#define G_SPARSE_VECTOR_DEFAULT_MEM_BLOCK 512
70 const double&
operator[](
const int& index)
const;
81 const int&
size(
void)
const;
83 const int&
inx(
const int& index)
const;
84 const double&
data(
const int& index)
const;
94 void insert(
const int& index,
const int&
inx,
const double&
data);
114 return (
"GVectorSparse");
161 return (
m_inx[index]);
Definition of interface for all GammaLib classes.
Exception handler interface definition.
Interface class for all GammaLib classes.
Sparse matrix class interface definition.
int m_elements
Number of elements in vector.
std::string classname(void) const
Return class name.
void alloc_members(const int &alloc)
Allocate memory for elements.
void copy_members(const GVectorSparse &vector)
Copy class members.
GVectorSparse & operator=(const GVectorSparse &vector)
Assignment operator.
int m_alloc
Number of allocated elements.
void free_members(void)
Delete class members.
int index2inx(const int &index) const
Return inx for element index.
GVectorSparse(void)
Void sparse vector constructor.
double & operator[](const int &index)
Sparse vector element access with range checking.
void clear(void)
Clear sparse vector.
bool operator==(const GVectorSparse &vector) const
Equality operator.
const int & size(void) const
Return full size of sparse vector.
const int & inx(const int &index) const
Return inx for sparse vector element.
GVectorSparse * clone(void) const
Clone sparse vector.
const double & data(const int &index) const
Return value for sparse vector element.
bool operator!=(const GVectorSparse &vector) const
Non-equality operator.
virtual ~GVectorSparse(void)
Destructor.
const int & elements(void) const
Return number of elements in sparse vector.
void insert(const int &index, const int &inx, const double &data)
Insert one element into sparse vector.
void init_members(void)
Initialise class members.
double * m_data
Data array.
int m_colinx
Column index.
std::string print(const GChatter &chatter=NORMAL) const
Print sparse vector information.