Dune Core Modules (2.4.1)
Dune::BlockVectorWindow< B, A > Class Template Reference
#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 block_vector_unmanaged< B, A >::Iterator | Iterator |
make iterators available as types | |
typedef block_vector_unmanaged< B, A >::ConstIterator | ConstIterator |
make iterators available as types | |
typedef B | value_type |
for STL compatibility | |
typedef B | member_type |
export the type representing the components | |
typedef RealIterator< B > | iterator |
iterator type for sequential access | |
typedef RealIterator< const B > | const_iterator |
iterator class for sequential access | |
Public Member Functions | |
BlockVectorWindow () | |
makes empty array | |
BlockVectorWindow (B *_p, size_type _n) | |
make array from given pointer and size | |
BlockVectorWindow (const BlockVectorWindow &a) | |
copy constructor, this has reference semantics! | |
BlockVectorWindow (const block_vector_unmanaged< B, A > &_a) | |
construct from base class object with reference semantics! | |
BlockVectorWindow & | operator= (const BlockVectorWindow &a) |
assignment | |
BlockVectorWindow & | operator= (const block_vector_unmanaged< B, A > &a) |
assign from base class object | |
BlockVectorWindow & | operator= (const field_type &k) |
assign from scalar | |
void | set (size_type _n, B *_p) |
set size and pointer | |
void | setsize (size_type _n) |
set size only | |
void | setptr (B *_p) |
set pointer only | |
B * | getptr () |
get pointer | |
size_type | getsize () |
get size | |
block_vector_unmanaged & | operator+= (const block_vector_unmanaged &y) |
vector space addition | |
block_vector_unmanaged & | operator-= (const block_vector_unmanaged &y) |
vector space subtraction | |
block_vector_unmanaged & | operator*= (const field_type &k) |
vector space multiplication with scalar | |
block_vector_unmanaged & | operator/= (const field_type &k) |
vector space division by scalar | |
block_vector_unmanaged & | axpy (const field_type &a, const block_vector_unmanaged &y) |
vector space axpy operation | |
PromotionTraits< field_type, typenameOtherB::field_type >::PromotedType | operator* (const block_vector_unmanaged< OtherB, OtherA > &y) const |
indefinite vector dot product \(\left (x^T \cdot y \right)\) which corresponds to Petsc's VecTDot More... | |
PromotionTraits< field_type, typenameOtherB::field_type >::PromotedType | dot (const block_vector_unmanaged< OtherB, OtherA > &y) const |
vector dot product \(\left (x^H \cdot y \right)\) which corresponds to Petsc's VecDot More... | |
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 | |
const B & | operator[] (size_type i) const |
same for read only access | |
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) | |
Detailed Description
template<class B, class A = std::allocator<B>>
class Dune::BlockVectorWindow< B, A >
class Dune::BlockVectorWindow< B, A >
BlockVectorWindow adds window manipulation functions to the block_vector_unmanaged template.
This class has no memory management. It assumes that the storage for the entries of the vector 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 incompatible 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.
Member Enumeration Documentation
◆ anonymous enum
template<class B , class A = std::allocator<B>>
anonymous enum |
Member Function Documentation
◆ beforeBegin() [1/2]
|
inlineinherited |
- Returns
- an iterator that is positioned before the first entry of the vector.
◆ beforeBegin() [2/2]
|
inlineinherited |
- Returns
- an iterator that is positioned before the first entry of the vector.
◆ beforeEnd() [1/2]
|
inlineinherited |
- Returns
- an iterator that is positioned before the end iterator of the vector, i.e. at the last entry.
◆ beforeEnd() [2/2]
|
inlineinherited |
- Returns
- an iterator that is positioned before the end iterator of the vector. i.e. at the last element.
◆ dot()
|
inlineinherited |
vector dot product \(\left (x^H \cdot y \right)\) which corresponds to Petsc's VecDot
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecDot.html
- Parameters
-
y other (compatible) vector
- Returns
◆ operator*()
|
inlineinherited |
indefinite vector dot product \(\left (x^T \cdot y \right)\) which corresponds to Petsc's VecTDot
http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Vec/VecTDot.html
- Parameters
-
y other (compatible) vector
- Returns
The documentation for this class was generated from the following file:
- dune/istl/bvector.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 21, 23:30, 2024)