51 m_shapeType(shapeType),
52 m_base(stdExpansion.GetBase()),
53 m_ncoeffs(stdExpansion.GetNcoeffs()),
54 m_matrixType(matrixType),
55 m_nodalPointsType(nodalType),
57 m_varcoeffs(varCoeffMap),
58 m_varcoeff_hashes(varCoeffMap.size())
62 for (
auto &x : varCoeffMap)
161 if (x->second < y->second)
165 if (x->second > y->second)
265 if (x.second != y->second)
270 for (
unsigned int i = 0; i < lhs.
m_varcoeffs.size(); ++i)
289 os <<
"Constants: " << endl;
297 os <<
"Variable coefficients: " << endl;
308 os << rhs.
GetBase()[i]->GetBasisKey();
const VarCoeffMap & GetVarCoeffs() const
std::size_t hash_range(Iter first, Iter last)
friend bool operator==(const StdMatrixKey &lhs, const StdMatrixKey &rhs)
const Array< OneD, const LibUtilities::BasisSharedPtr > & GetBase() const
std::ostream & operator<<(std::ostream &os, const IndexMapKey &rhs)
std::vector< std::size_t > GetVarCoeffHashes() const
std::vector< std::size_t > m_varcoeff_hashes
void hash_combine(std::size_t &seed)
std::map< ConstFactorType, NekDouble > ConstFactorMap
MatrixType GetMatrixType() const
const char *const ConstFactorTypeMap[]
const char *const ShapeTypeMap[]
friend bool operator<(const StdMatrixKey &lhs, const StdMatrixKey &rhs)
Used for finding value given the key in NekManager.
LibUtilities::PointsType m_nodalPointsType
The base class for all shapes.
std::map< StdRegions::VarCoeffType, Array< OneD, NekDouble > > VarCoeffMap
Array< OneD, const LibUtilities::BasisSharedPtr > m_base
const char *const MatrixTypeMap[]
LibUtilities::ShapeType m_shapeType
const ConstFactorMap & GetConstFactors() const
const char *const VarCoeffTypeMap[]
StandardMatrixTag boost::call_traits< LhsDataType >::const_reference rhs
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
bool operator()(const StdMatrixKey &lhs, const StdMatrixKey &rhs) const
LibUtilities::ShapeType GetShapeType() const
const unsigned int ShapeTypeDimMap[SIZE_ShapeType]