IsVariableOfIndex.h
Go to the documentation of this file.
// -*- c++ -*-
//*****************************************************************************
//*****************************************************************************
#ifndef polybori_groebner_IsVariableOfIndex_h_
#define polybori_groebner_IsVariableOfIndex_h_
// include basic definitions
#include "groebner_defs.h"
#include "PolyEntry.h"
BEGIN_NAMESPACE_PBORIGB
class IsVariableOfIndex {
public:
IsVariableOfIndex(idx_type value): m_value(value) {}
bool operator()(const PolyEntry& rhs) const {
return (rhs.isSingleton() && rhs.usedVariables.deg() == 1) &&
(*(rhs.usedVariables.begin()) == m_value);
}
private:
idx_type m_value;
};
END_NAMESPACE_PBORIGB
#endif /* polybori_groebner_IsVariableOfIndex_h_ */
polybori::groebner::PolyEntryBase::usedVariables
Exponent usedVariables
Definition: PolyEntryBase.h:62
polybori::BooleExponent::begin
const_iterator begin() const
Start iteration over indices (constant access)
Definition: BooleExponent.h:97
END_NAMESPACE_PBORIGB
#define END_NAMESPACE_PBORIGB
Definition: groebner_defs.h:16
polybori::groebner::IsVariableOfIndex::IsVariableOfIndex
IsVariableOfIndex(idx_type value)
Definition: IsVariableOfIndex.h:33
PolyEntry.h
BEGIN_NAMESPACE_PBORIGB
#define BEGIN_NAMESPACE_PBORIGB
Definition: groebner_defs.h:15
polybori::groebner::PolyEntry
This class defines PolyEntry.
Definition: PolyEntry.h:32
groebner_defs.h
polybori::groebner::IsVariableOfIndex
Definition: IsVariableOfIndex.h:31
polybori::groebner::PolyEntry::isSingleton
bool isSingleton() const
Definition: PolyEntry.h:67
polybori::groebner::IsVariableOfIndex::operator()
bool operator()(const PolyEntry &rhs) const
Definition: IsVariableOfIndex.h:35
polybori::groebner::idx_type
polybori::CTypes::idx_type idx_type
Definition: groebner_defs.h:44
polybori::BooleExponent::deg
deg_type deg() const
Degree of the corresponding monomial.
Definition: BooleExponent.h:118