Public Member Functions | |
TmpVectors (const unsigned int max_size, VectorMemory< VECTOR > &vmem) | |
~TmpVectors () | |
VECTOR & | operator[] (const unsigned int i) const |
VECTOR & | operator() (const unsigned int i, const VECTOR &temp) |
Private Attributes | |
VectorMemory< VECTOR > & | mem |
std::vector< VECTOR * > | data |
unsigned int | offset |
A future version should also be able to shift through vectors automatically, avoiding restart.
internal::SolverGMRES::TmpVectors< VECTOR >::TmpVectors | ( | const unsigned int | max_size, | |
VectorMemory< VECTOR > & | vmem | |||
) |
Constructor. Prepares an array of VECTOR
of length max_size
.
internal::SolverGMRES::TmpVectors< VECTOR >::~TmpVectors | ( | ) |
Delete all allocated vectors.
VECTOR& internal::SolverGMRES::TmpVectors< VECTOR >::operator[] | ( | const unsigned int | i | ) | const |
Get vector number i
. If this vector was unused before, an error occurs.
VECTOR& internal::SolverGMRES::TmpVectors< VECTOR >::operator() | ( | const unsigned int | i, | |
const VECTOR & | temp | |||
) |
Get vector number i
. Allocate it if necessary.
If a vector must be allocated, temp
is used to reinit it to the proper dimensions.
VectorMemory<VECTOR>& internal::SolverGMRES::TmpVectors< VECTOR >::mem [private] |
Pool were vectors are obtained from.
std::vector<VECTOR*> internal::SolverGMRES::TmpVectors< VECTOR >::data [private] |
Field for storing the vectors.
unsigned int internal::SolverGMRES::TmpVectors< VECTOR >::offset [private] |
Offset of the first vector. This is for later when vector rotation will be implemented.