dune-istl
2.5.1
|
#include <dune/istl/bvector.hh>
Public Types | |
enum | { blocklevel = B::blocklevel+1 } |
increment block level counter More... | |
typedef B::field_type | field_type |
export the type representing the field More... | |
typedef B | block_type |
export the type representing the components More... | |
typedef A | allocator_type |
export the allocator type More... | |
typedef A::size_type | size_type |
The type for the index access. More... | |
typedef compressed_block_vector_unmanaged< B, A >::Iterator | Iterator |
make iterators available as types More... | |
typedef compressed_block_vector_unmanaged< B, A >::ConstIterator | ConstIterator |
make iterators available as types More... | |
typedef B | member_type |
export the type representing the components More... | |
typedef RealIterator< B > | iterator |
The iterator type. More... | |
typedef RealIterator< const B > | const_iterator |
const_iterator class for sequential access More... | |
Public Member Functions | |
CompressedBlockVectorWindow () | |
makes empty array More... | |
CompressedBlockVectorWindow (B *_p, size_type *_j, size_type _n) | |
make array from given pointers and size More... | |
CompressedBlockVectorWindow (const CompressedBlockVectorWindow &a) | |
copy constructor, this has reference semantics! More... | |
CompressedBlockVectorWindow & | operator= (const CompressedBlockVectorWindow &a) |
assignment More... | |
CompressedBlockVectorWindow & | operator= (const field_type &k) |
assign from scalar More... | |
void | set (size_type _n, B *_p, size_type *_j) |
set size and pointer More... | |
void | setsize (size_type _n) |
set size only More... | |
void | setptr (B *_p) |
set pointer only More... | |
void | setindexptr (size_type *_j) |
set pointer only More... | |
B * | getptr () |
get pointer More... | |
size_type * | getindexptr () |
get pointer More... | |
const B * | getptr () const |
get pointer More... | |
const size_type * | getindexptr () const |
get pointer More... | |
size_type | getsize () const |
get size More... | |
template<class V > | |
compressed_block_vector_unmanaged & | operator+= (const V &y) |
vector space addition More... | |
template<class V > | |
compressed_block_vector_unmanaged & | operator-= (const V &y) |
vector space subtraction More... | |
template<class V > | |
compressed_block_vector_unmanaged & | axpy (const field_type &a, const V &y) |
vector space axpy operation More... | |
compressed_block_vector_unmanaged & | operator*= (const field_type &k) |
vector space multiplication with scalar More... | |
compressed_block_vector_unmanaged & | operator/= (const field_type &k) |
vector space division by scalar More... | |
field_type | operator* (const compressed_block_vector_unmanaged &y) const |
scalar product More... | |
FieldTraits< field_type >::real_type | one_norm () const |
one norm (sum over absolute values of entries) More... | |
FieldTraits< field_type >::real_type | one_norm_real () const |
simplified one norm (uses Manhattan norm for complex values) More... | |
FieldTraits< field_type >::real_type | two_norm () const |
two norm sqrt(sum over squared values of entries) More... | |
FieldTraits< field_type >::real_type | two_norm2 () const |
Square of the two-norm (the sum over the squared values of the entries) More... | |
template<typename ft = field_type, typename std::enable_if<!has_nan< ft >::value, int >::type = 0> | |
FieldTraits< ft >::real_type | infinity_norm () const |
infinity norm (maximum of absolute values of entries) More... | |
template<typename ft = field_type, typename std::enable_if< has_nan< ft >::value, int >::type = 0> | |
FieldTraits< ft >::real_type | infinity_norm () const |
infinity norm (maximum of absolute values of entries) More... | |
template<typename ft = field_type, typename std::enable_if<!has_nan< ft >::value, int >::type = 0> | |
FieldTraits< ft >::real_type | infinity_norm_real () const |
simplified infinity norm (uses Manhattan norm for complex values) More... | |
template<typename ft = field_type, typename std::enable_if< has_nan< ft >::value, int >::type = 0> | |
FieldTraits< ft >::real_type | infinity_norm_real () const |
simplified infinity norm (uses Manhattan norm for complex values) More... | |
size_type | N () const |
number of blocks in the vector (are of size 1 here) More... | |
size_type | dim () const |
dimension of the vector space More... | |
B & | operator[] (size_type i) |
random access to blocks, assumes ascending ordering More... | |
const B & | operator[] (size_type i) const |
same for read only access, assumes ascending ordering More... | |
iterator | begin () |
begin iterator More... | |
const_iterator | begin () const |
begin const_iterator More... | |
iterator | end () |
end iterator More... | |
const_iterator | end () const |
end const_iterator More... | |
iterator | beforeEnd () |
const_iterator | beforeEnd () const |
iterator | beforeBegin () |
const_iterator | beforeBegin () const |
iterator | find (size_type i) |
random access returning iterator (end if not contained) More... | |
const_iterator | find (size_type i) const |
random access returning iterator (end if not contained) More... | |
size_type | size () const |
number of blocks in the array (are of size 1 here) More... | |
Protected Member Functions | |
template<class V > | |
bool | includesindexset (const V &y) |
return true if index sets coincide More... | |
Protected Attributes | |
size_type | n |
B * | p |
size_type * | j |
CompressedBlockVectorWindow adds window manipulation functions to the compressed_block_vector_unmanaged template.
This class has no memory management. It assumes that the storage for the entries of the vector and its index set is maintained outside of this class.
But you can copy objects of this class and of the base class with reference semantics.
Assignment copies the data, if the format is incopmpatible with
the argument an exception is thrown in debug mode.
Error checking: no error checking is provided normally. Setting the compile time switch DUNE_ISTL_WITH_CHECKING enables error checking.
typedef A Dune::CompressedBlockVectorWindow< B, A >::allocator_type |
export the allocator type
typedef B Dune::CompressedBlockVectorWindow< B, A >::block_type |
export the type representing the components
|
inherited |
const_iterator class for sequential access
typedef compressed_block_vector_unmanaged<B,A>::ConstIterator Dune::CompressedBlockVectorWindow< B, A >::ConstIterator |
make iterators available as types
typedef B::field_type Dune::CompressedBlockVectorWindow< B, A >::field_type |
export the type representing the field
|
inherited |
The iterator type.
typedef compressed_block_vector_unmanaged<B,A>::Iterator Dune::CompressedBlockVectorWindow< B, A >::Iterator |
make iterators available as types
|
inherited |
export the type representing the components
typedef A::size_type Dune::CompressedBlockVectorWindow< B, A >::size_type |
The type for the index access.
anonymous enum |
|
inline |
makes empty array
|
inline |
make array from given pointers and size
|
inline |
copy constructor, this has reference semantics!
|
inlineinherited |
vector space axpy operation
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
begin iterator
|
inlineinherited |
begin const_iterator
|
inlineinherited |
dimension of the vector space
|
inlineinherited |
end iterator
|
inlineinherited |
end const_iterator
|
inlineinherited |
random access returning iterator (end if not contained)
|
inlineinherited |
random access returning iterator (end if not contained)
|
inline |
get pointer
|
inline |
get pointer
|
inline |
get pointer
|
inline |
get pointer
|
inline |
get size
|
inlineprotectedinherited |
return true if index sets coincide
|
inlineinherited |
infinity norm (maximum of absolute values of entries)
|
inlineinherited |
infinity norm (maximum of absolute values of entries)
|
inlineinherited |
simplified infinity norm (uses Manhattan norm for complex values)
|
inlineinherited |
simplified infinity norm (uses Manhattan norm for complex values)
|
inlineinherited |
number of blocks in the vector (are of size 1 here)
|
inlineinherited |
one norm (sum over absolute values of entries)
|
inlineinherited |
simplified one norm (uses Manhattan norm for complex values)
|
inlineinherited |
scalar product
|
inlineinherited |
vector space multiplication with scalar
|
inlineinherited |
vector space addition
|
inlineinherited |
vector space subtraction
|
inlineinherited |
vector space division by scalar
|
inline |
assignment
|
inline |
assign from scalar
|
inlineinherited |
random access to blocks, assumes ascending ordering
|
inlineinherited |
same for read only access, assumes ascending ordering
|
inline |
set size and pointer
|
inline |
set pointer only
|
inline |
set pointer only
|
inline |
set size only
|
inlineinherited |
number of blocks in the array (are of size 1 here)
|
inlineinherited |
two norm sqrt(sum over squared values of entries)
|
inlineinherited |
Square of the two-norm (the sum over the squared values of the entries)
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |