Kokkos::OskiMultiVector< OrdinalType, ScalarType > Class Template Reference

Kokkos::OskiMultiVector: Implementation of the abstract Kokkos::MultiVector that wraps an oski_vecview_t object. More...

#include <Kokkos_OskiMultiVector.hpp>

Inheritance diagram for Kokkos::OskiMultiVector< OrdinalType, ScalarType >:

[legend]
Collaboration diagram for Kokkos::OskiMultiVector< OrdinalType, ScalarType >:
[legend]
List of all members.

Public Member Functions

Constructors/Destructor.
 OskiMultiVector (void)
 Default constructor.
 OskiMultiVector (const OskiMultiVector &source)
 Copy constructor.
virtual ~OskiMultiVector ()
 OskiMultiVector Destructor.
Initialization methods
int initializeValues (OrdinalType numRows, OrdinalType numCols, ScalarType **values)
 Initialize using an array of pointers.
int initializeValues (OrdinalType numRows, OrdinalType numCols, ScalarType *values, OrdinalType rowInc, OrdinalType colInc=1)
 Initialize using a two-dimensional array.
Multivector entry access methods.
virtual ScalarType ** getValues () const
 Returns an array of pointers such that the ith pointer points to an array of values in the ith column of the multivector.
virtual ScalarType * getValues (OrdinalType i) const
 Returns a pointer to an array of values for the ith column of the multivector.
DenseMultiVector Attribute access methods.
virtual OrdinalType getNumRows () const
 Number of rows.
virtual OrdinalType getNumCols () const
 Number of columns.
virtual bool getIsStrided () const
 Indicates whether or not array is strided.
virtual OrdinalType getRowInc () const
 Increment between entries in a row of the multivector, normally = numRows().
virtual OrdinalType getColInc () const
 Increment between entries in a column of the multivector, normally = 1.
virtual oski_vecview_t getX_view () const
 Underlying OSKI MultiVector.

Protected Attributes

oski_vecview_t x_view_
bool dataInitialized_
ScalarType ** values_
ScalarType * allValues_
bool isStrided_

Detailed Description

template<typename OrdinalType, typename ScalarType>
class Kokkos::OskiMultiVector< OrdinalType, ScalarType >

Kokkos::OskiMultiVector: Implementation of the abstract Kokkos::MultiVector that wraps an oski_vecview_t object.

At this time, the primary function provided by Kokkos::OskiMultiVector is wrapping an oski_vecview_t object and providing access to its entries.


Member Function Documentation

template<typename OrdinalType, typename ScalarType>
virtual ScalarType* Kokkos::OskiMultiVector< OrdinalType, ScalarType >::getValues OrdinalType  i  )  const [inline, virtual]
 

Returns a pointer to an array of values for the ith column of the multivector.

Extract a pointer to the values in the ith column of the multivector. Note that the values are not copied by this method. Memory allocation is handled by the multivector object itself. Also, if the getIsStrided() method returns true, then the getColInc() should be used to access values in the ith column of the multivector, especially if getColInc() != 1.

Parameters:
i (In) The column that should be returned.

Implements Kokkos::MultiVector< OrdinalType, ScalarType >.

template<typename OrdinalType, typename ScalarType>
virtual ScalarType** Kokkos::OskiMultiVector< OrdinalType, ScalarType >::getValues  )  const [inline, virtual]
 

Returns an array of pointers such that the ith pointer points to an array of values in the ith column of the multivector.

Extract an array of pointers such that the ith pointer points to the values in the ith column of the multivector. Note that the values are not copied by this method. Memory allocation is handled by the multivector object itself.

Implements Kokkos::MultiVector< OrdinalType, ScalarType >.

Reimplemented in Kokkos::OskiVector< OrdinalType, ScalarType >.

template<typename OrdinalType, typename ScalarType>
int Kokkos::OskiMultiVector< OrdinalType, ScalarType >::initializeValues OrdinalType  numRows,
OrdinalType  numCols,
ScalarType *  values,
OrdinalType  rowInc,
OrdinalType  colInc = 1
[inline]
 

Initialize using a two-dimensional array.

This interface supports multivectors that are stored as 2D arrays, or subsections of one.

Parameters:
numRows (In) Number of rows in multivector (length of each vector).
numCols (In) Number of columns in multivector (number of vectors).
values (In) Pointer to the first entry in the multivector. Subsequent column entries are spaced a distance of getColInc(). Subsequent row entries are spaced by getRowInc() increments.
rowInc (In) The increment between two elements in a row of the multivector. Typically this value should be set to numRows.
colInc (In) The increment between two elements in a column of the multivector. Typically this value should be set to 1, which is the default value.
Returns:
Integer error code, set to 0 if successful.

template<typename OrdinalType, typename ScalarType>
int Kokkos::OskiMultiVector< OrdinalType, ScalarType >::initializeValues OrdinalType  numRows,
OrdinalType  numCols,
ScalarType **  values
[inline]
 

Initialize using an array of pointers.

This interface supports multivectors that are stored as an array of pointers.

Parameters:
numRows (In) Number of rows in multivector (length of each vector).
numCols (In) Number of columns in multivector (number of vectors).
values (In) Array of pointers of length getNumCols(). values[i] is a vector of length numRows. Vector must be stored with a constant stride between rows. (May change in the future.)
Returns:
Integer error code, set to 0 if successful.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:37:00 2008 for Kokkos by doxygen 1.3.9.1