Playa::SingleChunkVector< Scalar > Class Template Reference

Inheritance diagram for Playa::SingleChunkVector< Scalar >:

Playa::VectorBase< Scalar >

List of all members.

Public Member Functions

 SingleChunkVector ()
virtual ~SingleChunkVector ()
virtual ConstDataChunk< Scalar > nextConstChunk () const
virtual NonConstDataChunk< Scalar > nextChunk ()
virtual bool hasMoreChunks () const
virtual void rewind () const
virtual int chunkSize () const =0
virtual const Scalar * dataPtr () const =0
virtual Scalar * dataPtr ()=0
virtual void update (const Scalar &alpha, const VectorBase< Scalar > *other, const Scalar &gamma)
virtual void update (const Scalar &alpha, const VectorBase< Scalar > *x, const Scalar &beta, const VectorBase< Scalar > *y, const Scalar &gamma)
virtual void update (const Scalar &alpha, const VectorBase< Scalar > *x, const Scalar &beta, const VectorBase< Scalar > *y, const Scalar &gamma, const VectorBase< Scalar > *z, const Scalar &delta)
virtual Scalar dot (const VectorBase< Scalar > *other) const
virtual Scalar norm2 () const
Access to local elements


virtual const double & operator[] (int localIndex) const
virtual double & operator[] (int localIndex)

Private Attributes

bool rewound_


Detailed Description

template<class Scalar>
class Playa::SingleChunkVector< Scalar >

Base class for vector types that have all on-processor data in a single contiguous chunk

Author:
Kevin Long (kevin.long@ttu.edu)

Definition at line 26 of file PlayaSingleChunkVector.hpp.


Constructor & Destructor Documentation

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

Definition at line 30 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual Playa::SingleChunkVector< Scalar >::~SingleChunkVector (  )  [inline, virtual]

virtual dtor

Definition at line 32 of file PlayaSingleChunkVector.hpp.


Member Function Documentation

template<class Scalar>
virtual int Playa::SingleChunkVector< Scalar >::chunkSize (  )  const [pure virtual]

template<class Scalar>
virtual Scalar* Playa::SingleChunkVector< Scalar >::dataPtr (  )  [pure virtual]

template<class Scalar>
virtual const Scalar* Playa::SingleChunkVector< Scalar >::dataPtr (  )  const [pure virtual]

template<class Scalar>
virtual Scalar Playa::SingleChunkVector< Scalar >::dot ( const VectorBase< Scalar > *  other  )  const [inline, virtual]

Implements Playa::VectorBase< Scalar >.

Reimplemented in Playa::EpetraVector.

Definition at line 169 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual bool Playa::SingleChunkVector< Scalar >::hasMoreChunks (  )  const [inline, virtual]

Implements Playa::VectorBase< Scalar >.

Definition at line 43 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual NonConstDataChunk<Scalar> Playa::SingleChunkVector< Scalar >::nextChunk (  )  [inline, virtual]

Implements Playa::VectorBase< Scalar >.

Definition at line 39 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual ConstDataChunk<Scalar> Playa::SingleChunkVector< Scalar >::nextConstChunk (  )  const [inline, virtual]

Implements Playa::VectorBase< Scalar >.

Definition at line 35 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual Scalar Playa::SingleChunkVector< Scalar >::norm2 (  )  const [inline, virtual]

Implements Playa::VectorBase< Scalar >.

Reimplemented in Playa::EpetraVector.

Definition at line 185 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual double& Playa::SingleChunkVector< Scalar >::operator[] ( int  localIndex  )  [inline, virtual]

writable access to the element at the given local index

Reimplemented in Playa::EpetraVector.

Definition at line 57 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual const double& Playa::SingleChunkVector< Scalar >::operator[] ( int  localIndex  )  const [inline, virtual]

read the element at the given local index

Reimplemented in Playa::EpetraVector.

Definition at line 53 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual void Playa::SingleChunkVector< Scalar >::rewind (  )  const [inline, virtual]

Implements Playa::VectorBase< Scalar >.

Definition at line 47 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual void Playa::SingleChunkVector< Scalar >::update ( const Scalar &  alpha,
const VectorBase< Scalar > *  x,
const Scalar &  beta,
const VectorBase< Scalar > *  y,
const Scalar &  gamma,
const VectorBase< Scalar > *  z,
const Scalar &  delta 
) [inline, virtual]

Implements Playa::VectorBase< Scalar >.

Definition at line 127 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual void Playa::SingleChunkVector< Scalar >::update ( const Scalar &  alpha,
const VectorBase< Scalar > *  x,
const Scalar &  beta,
const VectorBase< Scalar > *  y,
const Scalar &  gamma 
) [inline, virtual]

Implements Playa::VectorBase< Scalar >.

Reimplemented in Playa::EpetraVector.

Definition at line 94 of file PlayaSingleChunkVector.hpp.

template<class Scalar>
virtual void Playa::SingleChunkVector< Scalar >::update ( const Scalar &  alpha,
const VectorBase< Scalar > *  x,
const Scalar &  gamma 
) [inline, virtual]

Carry out the operation (*this) = gamma*(*this) + alpha*x ;

Implements Playa::VectorBase< Scalar >.

Reimplemented in Playa::EpetraVector.

Definition at line 68 of file PlayaSingleChunkVector.hpp.


Member Data Documentation

template<class Scalar>
bool Playa::SingleChunkVector< Scalar >::rewound_ [mutable, private]

Site Contact