28 #ifndef _CHAINCON_EUCLWRAP_H_ 29 #define _CHAINCON_EUCLWRAP_H_ 39 #include "chomp/system/config.h" 48 template <
class CoefT>
56 explicit tEuclWrap (
const CoefT &element);
65 int delta (
void)
const;
108 template <
class CoefT>
114 template <
class CoefT>
120 template <
class CoefT>
126 template <
class CoefT>
133 template <
class CoefT>
139 template <
class CoefT>
145 template <
class CoefT>
153 template <
class CoefT>
161 template <
class CoefT>
169 template <
class CoefT>
178 template <
class CoefT>
187 template <
class CoefT>
196 template <
class CoefT>
205 template <
class CoefT>
211 template <
class CoefT>
214 return CoefT::ringsymbol (). c_str ();
217 template <
class CoefT>
220 return CoefT::ringsymbol (). c_str ();
225 template <
class CoefT>
232 template <
class CoefT>
240 template <
class CoefT>
246 template <
class CoefT>
255 template <
class CoefT>
266 template <
class CoefT>
275 #endif // _CHAINCON_EUCLWRAP_H_ CoefT e
An element of the coefficient type.
const CoefT & getCoef() const
Extraction of the actual coefficient inside.
tEuclWrap< CoefT > & operator=(int n)
Assignment of an integer number.
tEuclWrap< CoefT > & operator+=(const tEuclWrap< CoefT > &n)
The addition operator.
A wrapper of coefficients as defined in this sofware package for what is required by CHomP...
tEuclWrap()
The default constructor of an undefined element.
tEuclWrap< CoefT > operator-() const
The negation operator.
static const char * ringname()
Returns the name of the ring (returns its symbol here).
tEuclWrap< CoefT > & operator*=(const tEuclWrap< CoefT > &n)
The multiplication operator.
tEuclWrap< CoefT > operator+(const tEuclWrap< CoefT > &n) const
The addition operator that returns the result separately.
bool divide(const tZp< intType > &a, const tZp< intType > &b, tZp< intType > "ient, tZp< intType > &remainder)
int delta(void) const
Computes the delta function for the element.
int operator==(const tEuclWrap< CoefT > &n) const
The equality operator.
std::ostream & operator<<(std::ostream &out, const tEuclWrap< CoefT > &n)
Writing an element to an output stream.
tEuclWrap< CoefT > operator%(const tEuclWrap< CoefT > &n) const
The remainder operator.
static const char * ringsymbol()
Returns the symbol of the ring.
tEuclWrap< CoefT > operator*(const tEuclWrap< CoefT > &n) const
The multiplication operator that returns the result separately.
bool operator!=(const tEuclWrap< CoefT > &n, const tEuclWrap< CoefT > &m)
tEuclWrap< CoefT > operator/(const tEuclWrap< CoefT > &n) const
The division with remainder operator.
std::istream & operator>>(std::istream &in, tEuclWrap< CoefT > &n)
tEuclWrap< CoefT > normalized() const
Returns a normalized number (does nothing here).