linbox  1
Public Member Functions | Static Public Member Functions
NTL_ZZ Class Reference

the integer ring. More...

#include <ntl-ZZ.h>

List of all members.

Public Member Functions

template<class Element2 >
Element & init (Element &x, const Element2 &y) const
 Init x from y.
Element & init (Element &x, const Element &y) const
 Init from a NTL::ZZ.
Element & init (Element &x, const int64 &y) const
 Init from an int64.
Element & init (Element &x, const uint64 &y) const
 Init from a uint64.
Element & init (Element &x, const integer &y) const
 I don't know how to init from integer efficiently.
Element & assign (Element &x, const Element &y) const
 x = y.
bool areEqual (const Element &x, const Element &y) const
 Test if x == y.
bool isZero (const Element &x) const
 Test if x == 0.
bool isOne (const Element &x) const
 Test if x == 1.
Element & add (Element &x, const Element &y, const Element &z) const
 return x = y + z
Element & sub (Element &x, const Element &y, const Element &z) const
 return x = y - z
template<class Int >
Element & mul (Element &x, const Element &y, const Int &z) const
 return x = y * z
Element & div (Element &x, const Element &y, const Element &z) const
 If z divides y, return x = y / z, otherwise, throw an exception.
Element & inv (Element &x, const Element &y) const
 If y is a unit, return x = 1 / y, otherwsie, throw an exception.
Element & neg (Element &x, const Element &y) const
 return x = -y;
template<class Int >
Element & axpy (Element &r, const Element &a, const Int &x, const Element &y) const
 return r = a x + y
Element & addin (Element &x, const Element &y) const
 return x += y;
Element & subin (Element &x, const Element &y) const
 return x -= y;
template<class Int >
Element & mulin (Element &x, const Int &y) const
 return x *= y;
Element & divin (Element &x, const Element &y) const
 If y divides x, return x /= y, otherwise throw an exception.
Element & invin (Element &x)
 If x is a unit, x = 1 / x, otherwise, throw an exception.
Element & negin (Element &x) const
 return x = -x;
template<class Int >
Element & axpyin (Element &r, const Element &a, const Int &x) const
 return r += a x
std::ostream & write (std::ostream &out, const Element &y) const
 out << y;
std::istream & read (std::istream &in, Element &x) const
 read x from istream in
bool isUnit (const Element &x) const
 Test if x is a unit.
Element & gcd (Element &g, const Element &a, const Element &b) const
 return g = gcd (a, b)
Element & gcdin (Element &g, const Element &b) const
 return g = gcd (g, b)
Element & xgcd (Element &g, Element &s, Element &t, const Element &a, const Element &b) const
 g = gcd(a, b) = a*s + b*t. The coefficients s and t are defined according to the standard Euclidean algorithm applied to |a| and |b|, with the signs then adjusted according to the signs of a and b.
Element & lcm (Element &c, const Element &a, const Element &b) const
 c = lcm (a, b)
Element & lcmin (Element &l, const Element &b) const
 l = lcm (l, b)
Element & sqrt (Element &x, const Element &y) const
 x = floor ( sqrt(y)).
long reconstructRational (Element &a, Element &b, const Element &x, const Element &m, const Element &a_bound, const Element &b_bound) const
 Requires 0 <= x < m, m > 2 * a_bound * b_bound, a_bound >= 0, b_bound > 0 This routine either returns 0, leaving a and b unchanged, or returns 1 and sets a and b so that (1) a = b x (mod m), (2) |a| <= a_bound, 0 < b <= b_bound, and (3) gcd(m, b) = gcd(a, b).
Element & quo (Element &q, const Element &a, const Element &b) const
 q = floor (x/y);
Element & rem (Element &r, const Element &a, const Element &b) const
 r = remindar of a / b
Element & quoin (Element &a, const Element &b) const
 a = quotient (a, b)
Element & remin (Element &x, const Element &y) const
 a = quotient (a, b)
void quoRem (Element &q, Element &r, const Element &a, const Element &b) const
 q = [a/b], r = a - b*q |r| < |b|, and if r != 0, sign(r) = sign(b)
bool isDivisor (const Element &a, const Element &b) const
 Test if b | a.
long compare (const Element &a, const Element &b) const
Element & abs (Element &x, const Element &a) const

Static Public Member Functions

static integerconvert (integer &x, const Element &y)
 Convert y to an Element.

Detailed Description

the integer ring.


Member Function Documentation

bool isUnit ( const Element &  x) const [inline]

Test if x is a unit.

some PIR function

long compare ( const Element &  a,
const Element &  b 
) const [inline]

compare two elements, a and b return 1, if a > b return 0, if a = b; return -1. if a < b

Element& abs ( Element &  x,
const Element &  a 
) const [inline]

return the absolute value x = abs (a);


The documentation for this class was generated from the following file: