Public Member Functions | Static Public Member Functions | Private Attributes
Playa::SerialVector Class Reference
Inheritance diagram for Playa::SerialVector:
Playa::SingleChunkVector< double > Playa::LoadableVector< double > Playa::VectorBase< double >

List of all members.

Public Member Functions

 SerialVector (const VectorSpace< double > &vs)
VectorBase interface
RCP< const VectorSpaceBase
< double > > 
space () const
LoadableVector interface
void setElement (int globalIndex, const double &value)
void addToElement (int globalIndex, const double &value)
void setElements (int numElems, const int *globalIndices, const double *values)
void addToElements (int numElems, const int *globalIndices, const double *values)
void finalizeAssembly ()
Diagnostics
std::string description () const
Access through global indices
void getElements (const int *globalIndices, int numElems, Array< double > &elems) const
Single chunk data access interface
virtual const double * dataPtr () const
virtual double * dataPtr ()
virtual int chunkSize () const

Static Public Member Functions

static const SerialVectorgetConcrete (const Vector< double > &x)
static SerialVectorgetConcrete (Vector< double > &x)

Private Attributes

VectorSpace< double > vecSpace_
Array< double > data_
int dim_

Detailed Description

Playa implementation of a serial vector, implementing the LoadableVector interface allowing an application to access elements. If created in SPMD, this will be replicated on all processors.

Definition at line 63 of file PlayaSerialVector.hpp.


Constructor & Destructor Documentation

SerialVector::SerialVector ( const VectorSpace< double > &  vs)

Construct with a vector space.

Definition at line 55 of file PlayaSerialVector.cpp.

References Playa::Handle< PointerType >::ptr().


Member Function Documentation

void SerialVector::addToElement ( int  globalIndex,
const double &  value 
) [virtual]

add to a single element

Implements Playa::LoadableVector< double >.

Definition at line 74 of file PlayaSerialVector.cpp.

References data_, and Sundance::value.

void SerialVector::addToElements ( int  numElems,
const int *  globalIndices,
const double *  values 
) [virtual]

add to a group of elements

Reimplemented from Playa::LoadableVector< double >.

Definition at line 88 of file PlayaSerialVector.cpp.

References data_.

virtual int Playa::SerialVector::chunkSize ( ) const [inline, virtual]

Size of the (single) chunk of data values

Implements Playa::SingleChunkVector< double >.

Definition at line 128 of file PlayaSerialVector.hpp.

References dim_.

virtual const double* Playa::SerialVector::dataPtr ( ) const [inline, virtual]
virtual double* Playa::SerialVector::dataPtr ( ) [inline, virtual]

Implements Playa::SingleChunkVector< double >.

Definition at line 125 of file PlayaSerialVector.hpp.

References data_.

std::string SerialVector::description ( ) const

Definition at line 126 of file PlayaSerialVector.cpp.

References dim_.

void SerialVector::finalizeAssembly ( ) [virtual]

Reimplemented from Playa::LoadableVector< double >.

Definition at line 111 of file PlayaSerialVector.cpp.

const SerialVector * SerialVector::getConcrete ( const Vector< double > &  x) [static]
SerialVector * SerialVector::getConcrete ( Vector< double > &  x) [static]

Definition at line 104 of file PlayaSerialVector.cpp.

References Playa::Handle< PointerType >::ptr().

void SerialVector::getElements ( const int *  globalIndices,
int  numElems,
Array< double > &  elems 
) const

get the batch of elements at the given global indices

Definition at line 116 of file PlayaSerialVector.cpp.

void SerialVector::setElement ( int  globalIndex,
const double &  value 
) [virtual]

set a single element

Implements Playa::LoadableVector< double >.

Definition at line 69 of file PlayaSerialVector.cpp.

References data_, and Sundance::value.

void SerialVector::setElements ( int  numElems,
const int *  globalIndices,
const double *  values 
) [virtual]

set a group of elements

Reimplemented from Playa::LoadableVector< double >.

Definition at line 79 of file PlayaSerialVector.cpp.

References data_.

RCP<const VectorSpaceBase<double> > Playa::SerialVector::space ( ) const [inline, virtual]

Access to the space in which this vector lives

Implements Playa::VectorBase< double >.

Definition at line 75 of file PlayaSerialVector.hpp.

References Playa::Handle< PointerType >::ptr(), and vecSpace_.


Member Data Documentation

Array<double> Playa::SerialVector::data_ [private]

Definition at line 138 of file PlayaSerialVector.hpp.

Referenced by addToElement(), addToElements(), dataPtr(), setElement(), and setElements().

Definition at line 140 of file PlayaSerialVector.hpp.

Referenced by chunkSize(), and description().

Definition at line 136 of file PlayaSerialVector.hpp.

Referenced by space().

Site Contact