51 : m_shapeType(shapeType), m_base(stdExpansion.GetBase()),
52 m_ncoeffs(stdExpansion.GetNcoeffs()), m_matrixType(matrixType),
53 m_nodalPointsType(nodalType), m_factors(factorMap),
54 m_varfactors(varFactorsMap), m_varcoeffs(varCoeffMap),
55 m_varfactor_hashes(varFactorsMap.size()),
56 m_varcoeff_hashes(varCoeffMap.size())
60 for (
auto &x : varCoeffMap)
63 x.second.GetValue().begin() +
70 for (
auto &x : varFactorsMap)
80 : m_shapeType(rhs.m_shapeType), m_base(rhs.m_base),
81 m_ncoeffs(rhs.m_ncoeffs), m_matrixType(matrixType),
82 m_nodalPointsType(rhs.m_nodalPointsType), m_factors(rhs.m_factors),
83 m_varfactors(rhs.m_varfactors), m_varcoeffs(rhs.m_varcoeffs),
84 m_varfactor_hashes(rhs.m_varfactor_hashes),
85 m_varcoeff_hashes(rhs.m_varcoeff_hashes)
90 : m_shapeType(rhs.m_shapeType), m_base(rhs.m_base),
91 m_ncoeffs(rhs.m_ncoeffs), m_matrixType(rhs.m_matrixType),
92 m_nodalPointsType(rhs.m_nodalPointsType), m_factors(rhs.m_factors),
93 m_varfactors(rhs.m_varfactors), m_varcoeffs(rhs.m_varcoeffs),
94 m_varfactor_hashes(rhs.m_varfactor_hashes),
95 m_varcoeff_hashes(rhs.m_varcoeff_hashes)
172 if (x->second < y->second)
176 if (x->second > y->second)
312 if (x.second.GetValue() != y->second.GetValue())
318 for (
unsigned int i = 0; i < lhs.
m_varcoeffs.size(); ++i)
333 <<
", Ncoeffs: " << rhs.
GetNcoeffs() << std::endl;
337 os <<
"Constants: " << endl;
346 os <<
"Variable coefficients: " << endl;
355 for (
unsigned int i = 0;
358 os << rhs.
GetBase()[i]->GetBasisKey();
The base class for all shapes.
int GetTotPoints() const
This function returns the total number of quadrature points used in the element.
friend bool operator<(const StdMatrixKey &lhs, const StdMatrixKey &rhs)
Used for finding value given the key in NekManager.
const Array< OneD, const LibUtilities::BasisSharedPtr > & GetBase() const
LibUtilities::ShapeType GetShapeType() const
LibUtilities::PointsType m_nodalPointsType
StdMatrixKey operator=(const StdMatrixKey &inKey)
Array< OneD, const LibUtilities::BasisSharedPtr > m_base
const VarCoeffMap & GetVarCoeffs() const
MatrixType GetMatrixType() const
const ConstFactorMap & GetConstFactors() const
friend bool operator==(const StdMatrixKey &lhs, const StdMatrixKey &rhs)
std::vector< std::size_t > m_varfactor_hashes
LibUtilities::ShapeType m_shapeType
VarFactorsMap m_varfactors
std::vector< std::size_t > GetVarCoeffHashes() const
std::vector< std::size_t > m_varcoeff_hashes
const char *const ShapeTypeMap[SIZE_ShapeType]
constexpr unsigned int ShapeTypeDimMap[SIZE_ShapeType]
std::map< StdRegions::ConstFactorType, Array< OneD, NekDouble > > VarFactorsMap
const char *const VarCoeffTypeMap[]
const char *const ConstFactorTypeMap[]
std::ostream & operator<<(std::ostream &os, const StdMatrixKey &rhs)
const char *const MatrixTypeMap[]
std::map< ConstFactorType, NekDouble > ConstFactorMap
std::map< StdRegions::VarCoeffType, VarCoeffEntry > VarCoeffMap
std::size_t hash_range(Iter first, Iter last)
void hash_combine(std::size_t &seed)
bool operator()(const StdMatrixKey &lhs, const StdMatrixKey &rhs) const