Nektar++
Public Member Functions | Public Attributes | List of all members
Nektar::Collections::OpImpTimingKey Class Reference

#include <CollectionOptimisation.h>

Public Member Functions

 OpImpTimingKey (StdRegions::StdExpansionSharedPtr pExp, int ngeoms, int nbases)
 Constructor. More...
 
 ~OpImpTimingKey (void)
 Destructor. More...
 
bool operator< (const OpImpTimingKey &rhs) const
 

Public Attributes

StdRegions::StdExpansionSharedPtr m_exp
 
int m_ngeoms
 
int m_nbasis
 

Detailed Description

Definition at line 48 of file CollectionOptimisation.h.

Constructor & Destructor Documentation

◆ OpImpTimingKey()

Nektar::Collections::OpImpTimingKey::OpImpTimingKey ( StdRegions::StdExpansionSharedPtr  pExp,
int  ngeoms,
int  nbases 
)
inline

Constructor.

Definition at line 52 of file CollectionOptimisation.h.

53  :
54  m_exp(pExp),
55  m_ngeoms(ngeoms),
56  m_nbasis(nbases)
57  {
58  }
StdRegions::StdExpansionSharedPtr m_exp

◆ ~OpImpTimingKey()

Nektar::Collections::OpImpTimingKey::~OpImpTimingKey ( void  )
inline

Destructor.

Definition at line 61 of file CollectionOptimisation.h.

62  {
63  }

Member Function Documentation

◆ operator<()

bool Nektar::Collections::OpImpTimingKey::operator< ( const OpImpTimingKey rhs) const
inline

Definition at line 66 of file CollectionOptimisation.h.

67  {
68 
69  if(m_nbasis < rhs.m_nbasis)
70  {
71  return true;
72  }
73 
74  if(m_nbasis > rhs.m_nbasis)
75  {
76  return false;
77  }
78 
79  for(int i = 0; i < m_nbasis; ++i)
80  {
81  if( m_exp->GetBasis(i)->GetBasisKey() !=
82  rhs.m_exp->GetBasis(i)->GetBasisKey() )
83  {
84  return (m_exp->GetBasis(i)->GetBasisKey() <
85  rhs.m_exp->GetBasis(i)->GetBasisKey());
86  }
87  }
88 
89  if( (m_ngeoms < 100) && (rhs.m_ngeoms < 100) )
90  {
91  if(m_ngeoms < rhs.m_ngeoms)
92  {
93  return true;
94  }
95  else
96  {
97  return false;
98  }
99  }
100 
101  return false;
102  }

References m_exp, m_nbasis, and m_ngeoms.

Member Data Documentation

◆ m_exp

StdRegions::StdExpansionSharedPtr Nektar::Collections::OpImpTimingKey::m_exp

Definition at line 104 of file CollectionOptimisation.h.

Referenced by operator<().

◆ m_nbasis

int Nektar::Collections::OpImpTimingKey::m_nbasis

Definition at line 106 of file CollectionOptimisation.h.

Referenced by operator<().

◆ m_ngeoms

int Nektar::Collections::OpImpTimingKey::m_ngeoms

Definition at line 105 of file CollectionOptimisation.h.

Referenced by operator<().