Tpetra Matrix/Vector Services Version of the Day
Public Member Functions
Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal > Class Template Reference

An Element stores one entry of a sparse matrix. More...

#include <MatrixMarket_raw.hpp>

List of all members.

Public Member Functions

 Element ()
 Default constructor: an invalid structural nonzero element.
 Element (const Ordinal i, const Ordinal j, const Scalar &Aij)
 A structural nonzero element at (i,j) with value Aij.
bool operator== (const Element &rhs)
 Ignore the nonzero value for comparisons.
bool operator!= (const Element &rhs)
 Ignore the nonzero value for comparisons.
bool operator< (const Element &rhs) const
 Lex order first by row index, then by column index.
void merge (const Element &rhs, const bool replace=false)
 Merge rhs into this Element.
Ordinal rowIndex () const
 Row index (zero-based) of this Element.
Ordinal colIndex () const
 Column index (zero-based) of this Element.
Scalar value () const
 Value (A(rowIndex(), colIndex()) of this Element.

Detailed Description

template<class Scalar, class Ordinal>
class Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >

An Element stores one entry of a sparse matrix.

Author:
Mark Hoemmen An array of Elements implements the so-called "array of structs" representation of a coordinate format sparse matrix. An Element has a row and column index (each of type Ordinal) and a value (of type Scalar). Elements also have equality and ordering comparisons. The equality comparison only tests the row and column index, and is intended to simplify merging matrix entries with the same row and column indices. The ordering comparison means that std::sort of a sequence of Elements will put them in an order suitable for extracting the CSR (compressed sparse row) representation of the sparse matrix.

Definition at line 78 of file MatrixMarket_raw.hpp.


Constructor & Destructor Documentation

template<class Scalar , class Ordinal >
Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >::Element ( ) [inline]

Default constructor: an invalid structural nonzero element.

Definition at line 81 of file MatrixMarket_raw.hpp.

template<class Scalar , class Ordinal >
Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >::Element ( const Ordinal  i,
const Ordinal  j,
const Scalar &  Aij 
) [inline]

A structural nonzero element at (i,j) with value Aij.

Definition at line 84 of file MatrixMarket_raw.hpp.


Member Function Documentation

template<class Scalar , class Ordinal >
bool Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >::operator== ( const Element< Scalar, Ordinal > &  rhs) [inline]

Ignore the nonzero value for comparisons.

Definition at line 88 of file MatrixMarket_raw.hpp.

template<class Scalar , class Ordinal >
bool Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >::operator!= ( const Element< Scalar, Ordinal > &  rhs) [inline]

Ignore the nonzero value for comparisons.

Definition at line 93 of file MatrixMarket_raw.hpp.

template<class Scalar , class Ordinal >
bool Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >::operator< ( const Element< Scalar, Ordinal > &  rhs) const [inline]

Lex order first by row index, then by column index.

Definition at line 98 of file MatrixMarket_raw.hpp.

template<class Scalar , class Ordinal >
void Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >::merge ( const Element< Scalar, Ordinal > &  rhs,
const bool  replace = false 
) [inline]

Merge rhs into this Element.

"Replace" means replace this Element's value with that of rhs. Otherwise, this Element's value is added to rhs's value.

Definition at line 113 of file MatrixMarket_raw.hpp.

template<class Scalar , class Ordinal >
Ordinal Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >::rowIndex ( ) const [inline]

Row index (zero-based) of this Element.

Definition at line 124 of file MatrixMarket_raw.hpp.

template<class Scalar , class Ordinal >
Ordinal Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >::colIndex ( ) const [inline]

Column index (zero-based) of this Element.

Definition at line 127 of file MatrixMarket_raw.hpp.

template<class Scalar , class Ordinal >
Scalar Tpetra::MatrixMarket::Raw::Element< Scalar, Ordinal >::value ( ) const [inline]

Value (A(rowIndex(), colIndex()) of this Element.

Definition at line 130 of file MatrixMarket_raw.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines