Public Member Functions | Related Functions
Playa::VectorSpace< Scalar > Class Template Reference
Inheritance diagram for Playa::VectorSpace< Scalar >:
Playa::Handle< const VectorSpaceBase< Scalar > >

List of all members.

Public Member Functions

 VectorSpace ()
 VectorSpace (Handleable< const VectorSpaceBase< Scalar > > *rawPtr)
 VectorSpace (const RefCountPtr< const VectorSpaceBase< Scalar > > &smartPtr)
Vector< Scalar > createMember () const
int dim () const
int baseGlobalNaturalIndex () const
int numLocalElements () const
const MPICommcomm () const
bool isCompatible (const VectorSpace< Scalar > &vecSpc) const
bool operator== (const VectorSpace< Scalar > &other) const
bool operator!= (const VectorSpace< Scalar > &other) const
bool contains (const Vector< Scalar > &vec) const
int numBlocks () const
bool isBlockSpace () const
const VectorSpace< Scalar > & getBlock (int i) const
const VectorSpace< Scalar > & getBlock (const BlockIterator< Scalar > &iter) const
const VectorSpace< Scalar > & getBlock (const std::deque< int > &iter) const
BlockIterator< Scalar > beginBlock () const
BlockIterator< Scalar > endBlock () const
int mapToGNI (const BlockIterator< Scalar > &b, int indexWithinBlock) const
bool containsGNI (int gni) const
void getBlockAndOffsetFromGNI (int gni, BlockIterator< Scalar > &block, int &indexWithinBlock) const

Related Functions

(Note that these are not member functions.)

template<class Scalar >
VectorSpace< Scalar > blockSpace (const VectorSpace< Scalar > &v1)
template<class Scalar >
VectorSpace< Scalar > blockSpace (const VectorSpace< Scalar > &v1, const VectorSpace< Scalar > &v2)
template<class Scalar >
VectorSpace< Scalar > blockSpace (const VectorSpace< Scalar > &v1, const VectorSpace< Scalar > &v2, const VectorSpace< Scalar > &v3)
template<class Scalar >
VectorSpace< Scalar > blockSpace (const VectorSpace< Scalar > &v1, const VectorSpace< Scalar > &v2, const VectorSpace< Scalar > &v3, const VectorSpace< Scalar > &v4)
template<class Scalar >
VectorSpace< Scalar > blockSpace (const Array< VectorSpace< Scalar > > &x)
template<class Scalar >
VectorSpace< Scalar > blockSpace (const VectorSpace< Scalar > &v1)
template<class Scalar >
VectorSpace< Scalar > blockSpace (const VectorSpace< Scalar > &v1, const VectorSpace< Scalar > &v2)
template<class Scalar >
VectorSpace< Scalar > blockSpace (const VectorSpace< Scalar > &v1, const VectorSpace< Scalar > &v2, const VectorSpace< Scalar > &v3)
template<class Scalar >
VectorSpace< Scalar > blockSpace (const VectorSpace< Scalar > &v1, const VectorSpace< Scalar > &v2, const VectorSpace< Scalar > &v3, const VectorSpace< Scalar > &v4)
template<class Scalar >
VectorSpace< Scalar > blockSpace (const Array< VectorSpace< Scalar > > &x)

Detailed Description

template<class Scalar>
class Playa::VectorSpace< Scalar >

User-level VectorSpace class.

Definition at line 58 of file PlayaVectorSpaceDecl.hpp.


Constructor & Destructor Documentation

template<class Scalar>
Playa::VectorSpace< Scalar >::VectorSpace ( ) [inline]

Empty ctor

Definition at line 61 of file PlayaVectorSpaceDecl.hpp.

template<class Scalar>
Playa::VectorSpace< Scalar >::VectorSpace ( Handleable< const VectorSpaceBase< Scalar > > *  rawPtr) [inline]

Construct a VectorSpace<Scalar> with a raw pointer to a const VectorSpaceBase<Scalar>

Definition at line 61 of file PlayaVectorSpaceDecl.hpp.

template<class Scalar>
Playa::VectorSpace< Scalar >::VectorSpace ( const RefCountPtr< const VectorSpaceBase< Scalar > > &  smartPtr) [inline]

Construct a VectorSpace<Scalar> with a smart pointer to a const VectorSpaceBase<Scalar>

Definition at line 61 of file PlayaVectorSpaceDecl.hpp.


Member Function Documentation

template<class Scalar >
int Playa::VectorSpace< Scalar >::baseGlobalNaturalIndex ( ) const [inline]
template<class Scalar >
BlockIterator< Scalar > Playa::VectorSpace< Scalar >::beginBlock ( ) const [inline]

Definition at line 206 of file PlayaVectorSpaceImpl.hpp.

template<class Scalar>
const MPIComm& Playa::VectorSpace< Scalar >::comm ( ) const [inline]

Return the MPI communicator

Definition at line 76 of file PlayaVectorSpaceDecl.hpp.

template<class Scalar>
bool Playa::VectorSpace< Scalar >::contains ( const Vector< Scalar > &  vec) const [inline]

test whether the space contains a given vector

Definition at line 130 of file PlayaVectorSpaceImpl.hpp.

References Playa::Vector< Scalar >::space().

template<class Scalar >
bool Playa::VectorSpace< Scalar >::containsGNI ( int  gni) const [inline]

Definition at line 235 of file PlayaVectorSpaceImpl.hpp.

template<class Scalar >
Vector< Scalar > Playa::VectorSpace< Scalar >::createMember ( ) const [inline]
template<class Scalar>
int Playa::VectorSpace< Scalar >::dim ( ) const [inline]
template<class Scalar >
BlockIterator< Scalar > Playa::VectorSpace< Scalar >::endBlock ( ) const [inline]

Definition at line 212 of file PlayaVectorSpaceImpl.hpp.

template<class Scalar >
const VectorSpace< Scalar > & Playa::VectorSpace< Scalar >::getBlock ( int  i) const [inline]
template<class Scalar>
const VectorSpace< Scalar > & Playa::VectorSpace< Scalar >::getBlock ( const BlockIterator< Scalar > &  iter) const [inline]

get a subblock as specified by a block iterator

Definition at line 172 of file PlayaVectorSpaceImpl.hpp.

References Playa::BlockIterator< Scalar >::atEnd(), and Playa::BlockIterator< Scalar >::blockIndex().

template<class Scalar>
const VectorSpace< Scalar > & Playa::VectorSpace< Scalar >::getBlock ( const std::deque< int > &  iter) const [inline]

get a subblock as specified by a deque of indices

Definition at line 185 of file PlayaVectorSpaceImpl.hpp.

template<class Scalar>
void Playa::VectorSpace< Scalar >::getBlockAndOffsetFromGNI ( int  gni,
BlockIterator< Scalar > &  block,
int &  indexWithinBlock 
) const [inline]

Definition at line 242 of file PlayaVectorSpaceImpl.hpp.

template<class Scalar >
bool Playa::VectorSpace< Scalar >::isBlockSpace ( ) const

indicate whether I am a block vector space

Definition at line 146 of file PlayaVectorSpaceImpl.hpp.

Referenced by Playa::BlockIterator< Scalar >::goToStart().

template<class Scalar>
bool Playa::VectorSpace< Scalar >::isCompatible ( const VectorSpace< Scalar > &  vecSpc) const [inline]

Check compatibility with another space.

Definition at line 117 of file PlayaVectorSpaceImpl.hpp.

References Playa::Handle< const VectorSpaceBase< Scalar > >::ptr().

template<class Scalar>
int Playa::VectorSpace< Scalar >::mapToGNI ( const BlockIterator< Scalar > &  b,
int  indexWithinBlock 
) const [inline]

Definition at line 219 of file PlayaVectorSpaceImpl.hpp.

template<class Scalar >
int Playa::VectorSpace< Scalar >::numBlocks ( ) const

return the number of subblocks at the highest level.

Definition at line 138 of file PlayaVectorSpaceImpl.hpp.

Referenced by Playa::DefaultBlockVector< Scalar >::DefaultBlockVector(), and Playa::SimpleBlockOp< Scalar >::SimpleBlockOp().

template<class Scalar >
int Playa::VectorSpace< Scalar >::numLocalElements ( ) const [inline]
template<class Scalar>
bool Playa::VectorSpace< Scalar >::operator!= ( const VectorSpace< Scalar > &  other) const [inline]

test inequality of two spaces

Definition at line 80 of file PlayaVectorSpaceImpl.hpp.

template<class Scalar>
bool Playa::VectorSpace< Scalar >::operator== ( const VectorSpace< Scalar > &  other) const [inline]

test equality between two spaces

Definition at line 72 of file PlayaVectorSpaceImpl.hpp.


Friends And Related Function Documentation

template<class Scalar >
VectorSpace< Scalar > blockSpace ( const VectorSpace< Scalar > &  v1) [related]
template<class Scalar >
VectorSpace< Scalar > blockSpace ( const VectorSpace< Scalar > &  v1,
const VectorSpace< Scalar > &  v2 
) [related]
template<class Scalar >
VectorSpace< Scalar > blockSpace ( const VectorSpace< Scalar > &  v1) [related]

Definition at line 101 of file PlayaDefaultBlockVectorSpaceImpl.hpp.

template<class Scalar >
VectorSpace< Scalar > blockSpace ( const VectorSpace< Scalar > &  v1,
const VectorSpace< Scalar > &  v2,
const VectorSpace< Scalar > &  v3 
) [related]
template<class Scalar >
VectorSpace< Scalar > blockSpace ( const VectorSpace< Scalar > &  v1,
const VectorSpace< Scalar > &  v2,
const VectorSpace< Scalar > &  v3,
const VectorSpace< Scalar > &  v4 
) [related]
template<class Scalar >
VectorSpace< Scalar > blockSpace ( const VectorSpace< Scalar > &  v1,
const VectorSpace< Scalar > &  v2 
) [related]

Definition at line 112 of file PlayaDefaultBlockVectorSpaceImpl.hpp.

template<class Scalar >
VectorSpace< Scalar > blockSpace ( const Array< VectorSpace< Scalar > > &  x) [related]
template<class Scalar >
VectorSpace< Scalar > blockSpace ( const VectorSpace< Scalar > &  v1,
const VectorSpace< Scalar > &  v2,
const VectorSpace< Scalar > &  v3 
) [related]

Definition at line 124 of file PlayaDefaultBlockVectorSpaceImpl.hpp.

template<class Scalar >
VectorSpace< Scalar > blockSpace ( const VectorSpace< Scalar > &  v1,
const VectorSpace< Scalar > &  v2,
const VectorSpace< Scalar > &  v3,
const VectorSpace< Scalar > &  v4 
) [related]

Definition at line 138 of file PlayaDefaultBlockVectorSpaceImpl.hpp.

template<class Scalar >
VectorSpace< Scalar > blockSpace ( const Array< VectorSpace< Scalar > > &  x) [related]

Definition at line 154 of file PlayaDefaultBlockVectorSpaceImpl.hpp.

Site Contact