31 #ifndef ALGEBRAICINTEGER_H 32 #define ALGEBRAICINTEGER_H 38 #include "CoxIter/lib/math_tools.h" 67 virtual void set(
const int& n ) = 0;
78 virtual void removeSquareFactors() = 0;
84 virtual bool bIsInvertible()
const = 0;
90 virtual bool bIsSquareOfIvertible()
const = 0;
116 virtual void multiplyBy(
const int& n ) = 0;
139 virtual void opp() = 0;
144 virtual bool bIsLessThan(
const int& n )
const = 0;
159 virtual bool bIsGreaterThan(
const int& n )
const = 0;
164 virtual bool bIsGreaterOEThan(
const int& n )
const = 0;
174 virtual bool bIsEqualTo(
const int& n )
const = 0;
184 bool operator!=(
const int& n )
const;
196 virtual ostream& print( ostream& )
const;
203 virtual string to_string(
const string& strFormat =
"generic",
const bool& bProtect =
false )
const = 0;
208 virtual double to_double()
const = 0;
213 virtual string get_classname()
const = 0;
229 #endif // ALGEBRAICINTEGER_H
bool isLessThanPtrAlgebraicInteger(AlgebraicInteger *a, AlgebraicInteger *b)
Check if *a < *b.
Definition: algebraicinteger.cpp:3
bool isEqualToPtrAlgebraicInteger(AlgebraicInteger *a, AlgebraicInteger *b)
Check if *a = *b.
Definition: algebraicinteger.cpp:8
Parent class for rational, quadratic and rc7 integers.
Definition: algebraicinteger.h:43