22 #ifndef SELDON_FILE_MATRIX_BASE_HXX
24 #include "../share/Common.hxx"
25 #include "../share/Properties.hxx"
26 #include "../share/Storage.hxx"
27 #include "../share/Errors.hxx"
28 #include "../share/Allocator.hxx"
62 int GetM(
const CBLAS_TRANSPOSE& status)
const;
63 int GetN(
const CBLAS_TRANSPOSE& status)
const;
66 #ifdef SELDON_WITH_VIRTUAL
70 typedef typename ClassComplexType<T>::Treal Treal;
71 typedef typename ClassComplexType<T>::Tcplx Tcplx;
75 virtual void Reallocate(
int,
int);
77 virtual void SetEntry(
int,
int,
const T&);
78 virtual void AddInteraction(
int,
int,
const T&);
79 virtual void AddInteractionRow(
int,
int,
const Vector<int>&,
80 const Vector<T>& val,
bool sorted =
false);
82 virtual void AddInteractionColumn(
int,
int,
const Vector<int>&,
86 virtual void AddDistantInteraction(
int i,
int jglob,
int proc,
89 virtual void AddRowDistantInteraction(
int iglob,
int j,
int proc,
92 virtual size_t GetMemorySize()
const;
94 virtual void ClearRow(
int i);
98 const typename ClassComplexType<T>::Treal& omega,
99 int nb_iter,
int stage_ssor)
const;
102 const typename ClassComplexType<T>::Treal& omega,
103 int nb_iter,
int stage_ssor)
const;
105 virtual void MltAddVector(
const Treal& alpha,
const Vector<Treal>& x,
108 virtual void MltAddVector(
const Tcplx& alpha,
const Vector<Tcplx>& x,
129 virtual bool IsSymmetric()
const;
130 bool IsComplex()
const;
141 template <
class T,
class Allocator
147 typedef typename Allocator::value_type value_type;
148 typedef typename Allocator::pointer pointer;
149 typedef typename Allocator::const_pointer const_pointer;
150 typedef typename Allocator::reference reference;
151 typedef typename Allocator::const_reference const_reference;
176 template <
class T,
class Prop,
class Storage,
class Allocator>
183 #define SELDON_FILE_MATRIX_BASE_HXX