Nektar++
Static Public Member Functions | List of all members
Nektar::SymmetricBandedMatrixFuncs Struct Reference

#include <MatrixFuncs.h>

Inheritance diagram for Nektar::SymmetricBandedMatrixFuncs:
[legend]

Static Public Member Functions

static unsigned int CalculateIndex (unsigned int curRow, unsigned int curColumn, unsigned int nSuperDiags)
 

Additional Inherited Members

- Static Private Member Functions inherited from Nektar::TriangularBandedMatrixFuncs
static unsigned int GetRequiredStorageSize (unsigned int rows, unsigned int columns, unsigned int nSubSuperDiags)
 

Detailed Description

Definition at line 280 of file MatrixFuncs.h.

Member Function Documentation

◆ CalculateIndex()

unsigned int Nektar::SymmetricBandedMatrixFuncs::CalculateIndex ( unsigned int  curRow,
unsigned int  curColumn,
unsigned int  nSuperDiags 
)
static

Definition at line 369 of file MatrixFuncs.cpp.

References Nektar::BandedMatrixFuncs::CalculateIndex().

Referenced by Nektar::ConstMatrix< NekMatrix< DataType, InnerMatrixType >::NumberType >::CalculateIndex().

371  {
372  if( curRow <= curColumn )
373  {
374  if( (curColumn - curRow) <= nSuperDiags )
375  {
376  unsigned int elementRow = nSuperDiags - (curColumn - curRow);
377  unsigned int elementColumn = curColumn;
378 
379  return elementRow + elementColumn*(nSuperDiags+1);
380  }
381  else
382  {
383  return std::numeric_limits<unsigned int>::max();
384  }
385  }
386  else
387  {
388  return CalculateIndex(curColumn,curRow,nSuperDiags);
389  }
390 
391  }
static unsigned int CalculateIndex(unsigned int curRow, unsigned int curColumn, unsigned int nSuperDiags)