33 #ifndef __H__LIB_ALGEBRA__PARALLELIZATION__PARALLEL_VECTOR__
34 #define __H__LIB_ALGEBRA__PARALLELIZATION__PARALLEL_VECTOR__
58 template <
typename TVector>
Definition: smart_pointer.h:296
Definition: smart_pointer.h:108
Extends the HorizontalAlgebraLayouts by vertical layouts.
Definition: algebra_layouts.h:121
Definition: parallel_vector.h:60
number dotprod(const this_type &v)
dotprod (overwrites TVector::dotprod())
Definition: parallel_vector_impl.h:325
ParallelVector(ConstSmartPtr< AlgebraLayouts > layouts)
Constructor setting the Layouts.
Definition: parallel_vector.h:88
virtual this_type * virtual_clone() const
virtual clone using covariant return type
Definition: parallel_vector_impl.h:550
void check_storage_type() const
checks correctness of storage type
Definition: parallel_vector_impl.h:382
void set_random(number from, number to, ParallelStorageType type)
set all entries to a random number (overwrites TVector::set_random(number from, number to))
Definition: parallel_vector_impl.h:258
void set(number w)
sets all entries to a value and the storage type to consistent
Definition: parallel_vector.h:162
bool has_storage_type(uint type) const
returns if the current storage type has a given representation
Definition: parallel_vector.h:119
this_type & operator=(T t)
catch all other assignments so we don't use copy constructor here
TVector::value_type value_type
Definition: parallel_vector.h:62
ConstSmartPtr< AlgebraLayouts > layouts() const
returns the algebra layouts
Definition: parallel_vector.h:97
ConstSmartPtr< AlgebraLayouts > m_spAlgebraLayouts
algebra layouts and communicators
Definition: parallel_vector.h:197
virtual this_type * virtual_clone_without_values() const
virtual clone using covariant return type excluding values
Definition: parallel_vector_impl.h:564
uint get_storage_mask() const
returns storage type mask
Definition: parallel_vector.h:123
ParallelStorageType get_storage_type() const
Definition: parallel_vector.h:124
TVector::vector_type vector_type
Definition: parallel_vector.h:64
void set(number w, ParallelStorageType type)
set all entries to value and the storage type
Definition: parallel_vector_impl.h:223
this_type & operator-=(const this_type &v)
subtract a vector
Definition: parallel_vector_impl.h:73
size_t size_type
Definition: parallel_vector.h:63
SmartPtr< this_type > clone() const
clones the vector (deep-copy) including values
Definition: parallel_vector_impl.h:558
void set_random(number from, number to)
Definition: parallel_vector.h:166
bool change_storage_type(ParallelStorageType type)
changes to the requested storage type if possible
Definition: parallel_vector_impl.h:118
uint m_type
Definition: parallel_vector.h:194
void add_storage_type(uint type)
adds a storage type
Definition: parallel_vector.h:108
void set_storage_type(uint type)
sets the storage type
Definition: parallel_vector.h:104
number maxnorm() const
max norm (overwrites TVector::maxnorm())
Definition: parallel_vector_impl.h:298
number norm() const
two norm (overwrites TVector::norm())
Definition: parallel_vector_impl.h:271
ParallelVector< TVector > this_type
own type
Definition: parallel_vector.h:66
ParallelVector(size_t length)
Resizing constructor.
Definition: parallel_vector.h:83
this_type & operator+=(const this_type &v)
add a vector
Definition: parallel_vector_impl.h:95
void remove_storage_type(uint type)
removes a storage type
Definition: parallel_vector.h:112
void set_layouts(ConstSmartPtr< AlgebraLayouts > layouts)
sets the algebra layouts
Definition: parallel_vector.h:100
SmartPtr< this_type > clone_without_values() const
clones the vector (deep-copy) excluding values
Definition: parallel_vector_impl.h:573
void enforce_consistent_type()
sets storage type to consistent
Definition: parallel_vector_impl.h:433
ParallelVector()
Default constructor.
Definition: parallel_vector.h:78
ParallelStorageType
Definition: parallel_storage_type.h:66
@ PST_UNDEFINED
Definition: parallel_storage_type.h:67
@ PST_CONSISTENT
Definition: parallel_storage_type.h:68
PrandtlReuss< TDomain > this_type
unsigned int uint
Definition: types.h:114
double number
Definition: types.h:124
T value_type
Definition: sparsematrix_interface.h:2
function ProblemDisc new(problemDesc, dom)