dune-istl
2.3beta2
|
#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 | |
typedef B | block_type |
export the type representing the components | |
typedef A | allocator_type |
export the allocator type | |
typedef A::size_type | size_type |
The type for the index access. | |
typedef compressed_block_vector_unmanaged < B, A >::Iterator | Iterator |
make iterators available as types | |
typedef compressed_block_vector_unmanaged < B, A >::ConstIterator | ConstIterator |
make iterators available as types | |
typedef B | member_type |
export the type representing the components | |
typedef RealIterator< B > | iterator |
The iterator type. | |
typedef RealIterator< const B > | const_iterator |
const_iterator class for sequential access |
Public Member Functions | |
CompressedBlockVectorWindow () | |
makes empty array | |
CompressedBlockVectorWindow (B *_p, size_type *_j, size_type _n) | |
make array from given pointers and size | |
CompressedBlockVectorWindow (const CompressedBlockVectorWindow &a) | |
copy constructor, this has reference semantics! | |
CompressedBlockVectorWindow (const compressed_block_vector_unmanaged< B, A > &_a) | |
construct from base class object with reference semantics! | |
CompressedBlockVectorWindow & | operator= (const CompressedBlockVectorWindow &a) |
assignment | |
CompressedBlockVectorWindow & | operator= (const compressed_block_vector_unmanaged< B, A > &a) |
assign from base class object | |
CompressedBlockVectorWindow & | operator= (const field_type &k) |
assign from scalar | |
void | set (size_type _n, B *_p, size_type *_j) |
set size and pointer | |
void | setsize (size_type _n) |
set size only | |
void | setptr (B *_p) |
set pointer only | |
void | setindexptr (size_type *_j) |
set pointer only | |
B * | getptr () |
get pointer | |
size_type * | getindexptr () |
get pointer | |
const B * | getptr () const |
get pointer | |
const size_type * | getindexptr () const |
get pointer | |
size_type | getsize () const |
get size | |
template<class V > | |
compressed_block_vector_unmanaged & | operator+= (const V &y) |
vector space addition | |
template<class V > | |
compressed_block_vector_unmanaged & | operator-= (const V &y) |
vector space subtraction | |
template<class V > | |
compressed_block_vector_unmanaged & | axpy (const field_type &a, const V &y) |
vector space axpy operation | |
compressed_block_vector_unmanaged & | operator*= (const field_type &k) |
vector space multiplication with scalar | |
compressed_block_vector_unmanaged & | operator/= (const field_type &k) |
vector space division by scalar | |
field_type | operator* (const compressed_block_vector_unmanaged &y) const |
scalar product | |
FieldTraits< field_type > ::real_type | one_norm () const |
one norm (sum over absolute values of entries) | |
FieldTraits< field_type > ::real_type | one_norm_real () const |
simplified one norm (uses Manhattan norm for complex values) | |
FieldTraits< field_type > ::real_type | two_norm () const |
two norm sqrt(sum over squared values of entries) | |
FieldTraits< field_type > ::real_type | two_norm2 () const |
Square of the two-norm (the sum over the squared values of the entries) | |
FieldTraits< field_type > ::real_type | infinity_norm () const |
infinity norm (maximum of absolute values of entries) | |
FieldTraits< field_type > ::real_type | infinity_norm_real () const |
simplified infinity norm (uses Manhattan norm for complex values) | |
size_type | N () const |
number of blocks in the vector (are of size 1 here) | |
size_type | dim () const |
dimension of the vector space | |
B & | operator[] (size_type i) |
random access to blocks, assumes ascending ordering | |
const B & | operator[] (size_type i) const |
same for read only access, assumes ascending ordering | |
iterator | begin () |
begin iterator | |
const_iterator | begin () const |
begin const_iterator | |
iterator | end () |
end iterator | |
const_iterator | end () const |
end const_iterator | |
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) | |
const_iterator | find (size_type i) const |
random access returning iterator (end if not contained) | |
size_type | size () const |
number of blocks in the array (are of size 1 here) |
Protected Member Functions | |
template<class V > | |
bool | includesindexset (const V &y) |
return true if index sets coincide |
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
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inline |
copy constructor, this has reference semantics!
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inline |
construct from base class object with reference semantics!
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
vector space axpy operation
References Dune::compressed_block_vector_unmanaged< B, A >::includesindexset().
|
inlineinherited |
References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
begin iterator
References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
begin const_iterator
References Dune::compressed_base_array_unmanaged< B, A >::j, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
dimension of the vector space
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
end iterator
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
Referenced by Dune::compressed_base_array_unmanaged< B, A >::find(), and Dune::compressed_block_vector_unmanaged< B, A >::includesindexset().
|
inlineinherited |
end const_iterator
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
random access returning iterator (end if not contained)
References Dune::compressed_base_array_unmanaged< B, A >::end(), Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
Referenced by Dune::compressed_block_vector_unmanaged< B, A >::includesindexset().
|
inlineinherited |
random access returning iterator (end if not contained)
References Dune::compressed_base_array_unmanaged< B, A >::end(), Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inline |
get pointer
References Dune::compressed_base_array_unmanaged< B, A >::j.
Referenced by Dune::BCRSMatrix< B, A >::addindex(), Dune::MatrixDimension< BCRSMatrix< B, TA > >::coldim(), Dune::BCRSMatrix< B, A >::compress(), Dune::BCRSMatrix< B, A >::entry(), Dune::BCRSMatrix< B, A >::CreateIterator::operator++(), and Dune::BCRSMatrix< B, A >::setIndices().
|
inline |
get pointer
References Dune::compressed_base_array_unmanaged< B, A >::j.
|
inline |
get pointer
References Dune::compressed_base_array_unmanaged< B, A >::p.
Referenced by Dune::MatrixDimension< BCRSMatrix< B, TA > >::coldim(), Dune::BCRSMatrix< B, A >::entry(), and Dune::MatrixDimension< BCRSMatrix< B, TA > >::rowdim().
|
inline |
get pointer
References Dune::compressed_base_array_unmanaged< B, A >::p.
|
inline |
get size
References Dune::compressed_base_array_unmanaged< B, A >::n.
Referenced by Dune::BCRSMatrix< B, A >::addindex(), Dune::BCRSMatrix< B, A >::BCRSMatrix(), Dune::MatrixDimension< BCRSMatrix< B, TA > >::coldim(), Dune::BCRSMatrix< B, A >::compress(), Dune::BCRSMatrix< B, A >::endrowsizes(), Dune::BCRSMatrix< B, A >::entry(), Dune::BCRSMatrix< B, A >::getrowsize(), and Dune::BCRSMatrix< B, A >::operator=().
|
inlineprotectedinherited |
return true if index sets coincide
References Dune::compressed_base_array_unmanaged< B, A >::end(), and Dune::compressed_base_array_unmanaged< B, A >::find().
Referenced by Dune::compressed_block_vector_unmanaged< B, A >::axpy(), Dune::compressed_block_vector_unmanaged< B, A >::operator*(), Dune::compressed_block_vector_unmanaged< B, A >::operator+=(), and Dune::compressed_block_vector_unmanaged< B, A >::operator-=().
|
inlineinherited |
infinity norm (maximum of absolute values of entries)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
simplified infinity norm (uses Manhattan norm for complex values)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
number of blocks in the vector (are of size 1 here)
References Dune::compressed_base_array_unmanaged< B, A >::n.
Referenced by Dune::CompressedBlockVectorWindow< B, A >::operator=().
|
inlineinherited |
one norm (sum over absolute values of entries)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
simplified one norm (uses Manhattan norm for complex values)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
|
inlineinherited |
vector space multiplication with scalar
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
vector space addition
References Dune::compressed_block_vector_unmanaged< B, A >::includesindexset().
|
inlineinherited |
vector space subtraction
References Dune::compressed_block_vector_unmanaged< B, A >::includesindexset().
|
inlineinherited |
vector space division by scalar
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inline |
|
inline |
assign from base class object
References Dune::CompressedBlockVectorWindow< B, A >::operator=().
|
inline |
assign from scalar
Reimplemented from Dune::compressed_block_vector_unmanaged< B, A >.
|
inlineinherited |
random access to blocks, assumes ascending ordering
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
same for read only access, assumes ascending ordering
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inline |
set size and pointer
References Dune::compressed_base_array_unmanaged< B, A >::j, Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
Referenced by Dune::BCRSMatrix< B, A >::CreateIterator::operator++().
|
inline |
set pointer only
References Dune::compressed_base_array_unmanaged< B, A >::j.
Referenced by Dune::BCRSMatrix< B, A >::compress(), and Dune::BCRSMatrix< B, A >::CreateIterator::operator++().
|
inline |
set pointer only
References Dune::compressed_base_array_unmanaged< B, A >::p.
Referenced by Dune::BCRSMatrix< B, A >::compress().
|
inline |
|
inlineinherited |
number of blocks in the array (are of size 1 here)
References Dune::compressed_base_array_unmanaged< B, A >::n.
Referenced by Dune::BCRSMatrix< B, A >::setIndices().
|
inlineinherited |
two norm sqrt(sum over squared values of entries)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
inlineinherited |
Square of the two-norm (the sum over the squared values of the entries)
References Dune::compressed_base_array_unmanaged< B, A >::n, and Dune::compressed_base_array_unmanaged< B, A >::p.
|
protectedinherited |
Referenced by Dune::compressed_base_array_unmanaged< B, A >::beforeBegin(), Dune::compressed_base_array_unmanaged< B, A >::beforeEnd(), Dune::compressed_base_array_unmanaged< B, A >::begin(), Dune::CompressedBlockVectorWindow< B, A >::CompressedBlockVectorWindow(), Dune::compressed_base_array_unmanaged< B, A >::end(), Dune::compressed_base_array_unmanaged< B, A >::find(), Dune::CompressedBlockVectorWindow< B, A >::getindexptr(), Dune::compressed_block_vector_unmanaged< B, A >::operator*(), Dune::CompressedBlockVectorWindow< B, A >::operator=(), Dune::compressed_base_array_unmanaged< B, A >::operator[](), Dune::CompressedBlockVectorWindow< B, A >::set(), and Dune::CompressedBlockVectorWindow< B, A >::setindexptr().
|
protectedinherited |
Referenced by Dune::compressed_base_array_unmanaged< B, A >::beforeEnd(), Dune::CompressedBlockVectorWindow< B, A >::CompressedBlockVectorWindow(), Dune::compressed_block_vector_unmanaged< B, A >::dim(), Dune::compressed_base_array_unmanaged< B, A >::end(), Dune::compressed_base_array_unmanaged< B, A >::find(), Dune::CompressedBlockVectorWindow< B, A >::getsize(), Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm(), Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm_real(), Dune::compressed_block_vector_unmanaged< B, A >::N(), Dune::compressed_block_vector_unmanaged< B, A >::one_norm(), Dune::compressed_block_vector_unmanaged< B, A >::one_norm_real(), Dune::compressed_block_vector_unmanaged< B, A >::operator*(), Dune::compressed_block_vector_unmanaged< B, A >::operator*=(), Dune::compressed_block_vector_unmanaged< B, A >::operator/=(), Dune::compressed_block_vector_unmanaged< B, A >::operator=(), Dune::CompressedBlockVectorWindow< B, A >::operator=(), Dune::compressed_base_array_unmanaged< B, A >::operator[](), Dune::CompressedBlockVectorWindow< B, A >::set(), Dune::CompressedBlockVectorWindow< B, A >::setsize(), Dune::compressed_base_array_unmanaged< B, A >::size(), Dune::compressed_block_vector_unmanaged< B, A >::two_norm(), and Dune::compressed_block_vector_unmanaged< B, A >::two_norm2().
|
protectedinherited |
Referenced by Dune::compressed_base_array_unmanaged< B, A >::beforeBegin(), Dune::compressed_base_array_unmanaged< B, A >::beforeEnd(), Dune::compressed_base_array_unmanaged< B, A >::begin(), Dune::CompressedBlockVectorWindow< B, A >::CompressedBlockVectorWindow(), Dune::compressed_block_vector_unmanaged< B, A >::dim(), Dune::compressed_base_array_unmanaged< B, A >::end(), Dune::compressed_base_array_unmanaged< B, A >::find(), Dune::CompressedBlockVectorWindow< B, A >::getptr(), Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm(), Dune::compressed_block_vector_unmanaged< B, A >::infinity_norm_real(), Dune::compressed_block_vector_unmanaged< B, A >::one_norm(), Dune::compressed_block_vector_unmanaged< B, A >::one_norm_real(), Dune::compressed_block_vector_unmanaged< B, A >::operator*(), Dune::compressed_block_vector_unmanaged< B, A >::operator*=(), Dune::compressed_block_vector_unmanaged< B, A >::operator/=(), Dune::compressed_block_vector_unmanaged< B, A >::operator=(), Dune::CompressedBlockVectorWindow< B, A >::operator=(), Dune::compressed_base_array_unmanaged< B, A >::operator[](), Dune::CompressedBlockVectorWindow< B, A >::set(), Dune::CompressedBlockVectorWindow< B, A >::setptr(), Dune::compressed_block_vector_unmanaged< B, A >::two_norm(), and Dune::compressed_block_vector_unmanaged< B, A >::two_norm2().