| 
    Nektar++
    
   | 
 
#include <SparseMatrixFwd.hpp>

Classes | |
| class | const_iterator | 
Public Types | |
| typedef T | DataType | 
| typedef Array< OneD, DataType > | DataVectorType | 
| typedef Array< OneD, const  DataType >  | ConstDataVectorType | 
| typedef Array< OneD, IndexType > | IndexVectorType | 
| typedef void(* | MultiplyKernel )(const double *, const double *, double *) | 
Public Member Functions | |
| StorageSmvBsr (const IndexType blkRows, const IndexType blkCols, const IndexType blkDim, const BCOMatType &bcoMat, const MatrixStorage matType=eFULL) | |
| StorageSmvBsr (const StorageSmvBsr &src) | |
| ~StorageSmvBsr () | |
| const IndexType | GetRows () const | 
| const IndexType | GetColumns () const | 
| const IndexType | GetNumNonZeroEntries () const | 
| const IndexType | GetNumStoredDoubles () const | 
| const IndexType | GetBlkSize () const | 
| const DataType | GetFillInRatio () const | 
| const size_t | GetMemoryUsage (IndexType nnz, IndexType nRows) const | 
| const_iterator | begin () const | 
| const_iterator | end () const | 
| const boost::call_traits < DataType >::const_reference  | GetValue (IndexType row, IndexType column) const | 
| void | Multiply (const DataType *in, DataType *out) | 
| void | Multiply (const DataVectorType &in, DataVectorType &out) | 
| void | MultiplyLight (const DataVectorType &in, DataVectorType &out) | 
Protected Member Functions | |
| void | processBcoInput (const IndexType blkRows, const IndexType blkColumns, const IndexType blkDim, const BCOMatType &bcoMat) | 
| void | Multiply_1x1 (const int mb, const int kb, const double *val, const int *bindx, const int *bpntrb, const int *bpntre, const double *b, double *c) | 
| Zero-based CSR multiply. Essentially this is slightly modified copy-paste from NIST Sparse Blas 0.9b routine CSR_VecMult_CAB_double()  More... | |
| void | Multiply_2x2 (const int mb, const int kb, const double *val, const int *bindx, const int *bpntrb, const int *bpntre, const double *b, double *c) | 
| Zero-based BSR multiply unrolled for 2x2 blocks. Essentially this is slightly optimised copy-paste from NIST Sparse Blas 0.9b routine BSR_VecMult_BAB_double()  More... | |
| void | Multiply_3x3 (const int mb, const int kb, const double *val, const int *bindx, const int *bpntrb, const int *bpntre, const double *b, double *c) | 
| Zero-based BSR multiply unrolled for 3x3 blocks.  More... | |
| void | Multiply_4x4 (const int mb, const int kb, const double *val, const int *bindx, const int *bpntrb, const int *bpntre, const double *b, double *c) | 
| Zero-based BSR multiply unrolled for 4x4 blocks.  More... | |
| void | Multiply_generic (const int mb, const int kb, const double *val, const int *bindx, const int *bpntrb, const int *bpntre, const double *b, double *c) | 
| Generic zero-based BSR multiply for higher matrix ranks.  More... | |
Definition at line 71 of file SparseMatrixFwd.hpp.
| typedef Array<OneD, const DataType> Nektar::StorageSmvBsr< T >::ConstDataVectorType | 
Definition at line 76 of file StorageSmvBsr.hpp.
| typedef T Nektar::StorageSmvBsr< T >::DataType | 
Definition at line 74 of file StorageSmvBsr.hpp.
| typedef Array<OneD, DataType> Nektar::StorageSmvBsr< T >::DataVectorType | 
Definition at line 75 of file StorageSmvBsr.hpp.
| typedef Array<OneD, IndexType> Nektar::StorageSmvBsr< T >::IndexVectorType | 
Definition at line 77 of file StorageSmvBsr.hpp.
| typedef void(* Nektar::StorageSmvBsr< T >::MultiplyKernel)(const double *, const double *, double *) | 
Definition at line 79 of file StorageSmvBsr.hpp.
| Nektar::StorageSmvBsr< DataType >::StorageSmvBsr | ( | const IndexType | blkRows, | 
| const IndexType | blkCols, | ||
| const IndexType | blkDim, | ||
| const BCOMatType & | bcoMat, | ||
| const MatrixStorage | matType = eFULL  | 
        ||
| ) | 
Definition at line 220 of file StorageSmvBsr.cpp.
References Nektar::eFULL, and Nektar::StorageSmvBsr< T >::processBcoInput().
| Nektar::StorageSmvBsr< DataType >::StorageSmvBsr | ( | const StorageSmvBsr< T > & | src | ) | 
Definition at line 262 of file StorageSmvBsr.cpp.
| Nektar::StorageSmvBsr< DataType >::~StorageSmvBsr | ( | ) | 
Definition at line 276 of file StorageSmvBsr.cpp.
| StorageSmvBsr< DataType >::const_iterator Nektar::StorageSmvBsr< DataType >::begin | ( | ) | const | 
Definition at line 358 of file StorageSmvBsr.cpp.
Referenced by Nektar::StorageSmvBsr< T >::const_iterator::const_iterator().
| StorageSmvBsr< DataType >::const_iterator Nektar::StorageSmvBsr< DataType >::end | ( | ) | const | 
Definition at line 364 of file StorageSmvBsr.cpp.
| const IndexType Nektar::StorageSmvBsr< DataType >::GetBlkSize | ( | ) | const | 
Definition at line 300 of file StorageSmvBsr.cpp.
| const IndexType Nektar::StorageSmvBsr< DataType >::GetColumns | ( | ) | const | 
Definition at line 288 of file StorageSmvBsr.cpp.
| const DataType Nektar::StorageSmvBsr< DataType >::GetFillInRatio | ( | ) | const | 
Definition at line 313 of file StorageSmvBsr.cpp.
| const size_t Nektar::StorageSmvBsr< DataType >::GetMemoryUsage | ( | IndexType | nnz, | 
| IndexType | nRows | ||
| ) | const | 
Definition at line 320 of file StorageSmvBsr.cpp.
| const IndexType Nektar::StorageSmvBsr< DataType >::GetNumNonZeroEntries | ( | ) | const | 
Definition at line 294 of file StorageSmvBsr.cpp.
| const IndexType Nektar::StorageSmvBsr< DataType >::GetNumStoredDoubles | ( | ) | const | 
Definition at line 307 of file StorageSmvBsr.cpp.
| const IndexType Nektar::StorageSmvBsr< DataType >::GetRows | ( | ) | const | 
Definition at line 282 of file StorageSmvBsr.cpp.
| const boost::call_traits< DataType >::const_reference Nektar::StorageSmvBsr< DataType >::GetValue | ( | IndexType | row, | 
| IndexType | column | ||
| ) | const | 
Definition at line 331 of file StorageSmvBsr.cpp.
| void Nektar::StorageSmvBsr< DataType >::Multiply | ( | const DataType * | in, | 
| DataType * | out | ||
| ) | 
Definition at line 412 of file StorageSmvBsr.cpp.
| void Nektar::StorageSmvBsr< DataType >::Multiply | ( | const DataVectorType & | in, | 
| DataVectorType & | out | ||
| ) | 
Definition at line 375 of file StorageSmvBsr.cpp.
      
  | 
  protected | 
Zero-based CSR multiply. Essentially this is slightly modified copy-paste from NIST Sparse Blas 0.9b routine CSR_VecMult_CAB_double()
Definition at line 490 of file StorageSmvBsr.cpp.
      
  | 
  protected | 
Zero-based BSR multiply unrolled for 2x2 blocks. Essentially this is slightly optimised copy-paste from NIST Sparse Blas 0.9b routine BSR_VecMult_BAB_double()
Definition at line 517 of file StorageSmvBsr.cpp.
      
  | 
  protected | 
      
  | 
  protected | 
      
  | 
  protected | 
Generic zero-based BSR multiply for higher matrix ranks.
Definition at line 667 of file StorageSmvBsr.cpp.
| void Nektar::StorageSmvBsr< DataType >::MultiplyLight | ( | const DataVectorType & | in, | 
| DataVectorType & | out | ||
| ) | 
Definition at line 451 of file StorageSmvBsr.cpp.
      
  | 
  protected | 
Definition at line 702 of file StorageSmvBsr.cpp.
References Nektar::NekConstants::kNekSparseNonZeroTol.
Referenced by Nektar::StorageSmvBsr< T >::StorageSmvBsr().
      
  | 
  protected | 
Definition at line 210 of file StorageSmvBsr.hpp.
      
  | 
  protected | 
Definition at line 211 of file StorageSmvBsr.hpp.
Referenced by Nektar::StorageSmvBsr< T >::const_iterator::storageIndexToFullCoord().
      
  | 
  protected | 
Definition at line 209 of file StorageSmvBsr.hpp.
      
  | 
  protected | 
Definition at line 213 of file StorageSmvBsr.hpp.
      
  | 
  protected | 
Definition at line 217 of file StorageSmvBsr.hpp.
Referenced by Nektar::StorageSmvBsr< T >::const_iterator::storageIndexToFullCoord().
      
  | 
  protected | 
Definition at line 207 of file StorageSmvBsr.hpp.
      
  | 
  protected | 
Definition at line 205 of file StorageSmvBsr.hpp.
      
  | 
  protected | 
Definition at line 214 of file StorageSmvBsr.hpp.
      
  | 
  protected | 
Definition at line 218 of file StorageSmvBsr.hpp.
Referenced by Nektar::StorageSmvBsr< T >::const_iterator::storageIndexToFullCoord().
      
  | 
  protected | 
Definition at line 216 of file StorageSmvBsr.hpp.
Referenced by Nektar::StorageSmvBsr< T >::const_iterator::forward().
 1.8.8