linbox
Public Member Functions | Static Public Member Functions
PID_double Class Reference

NO DOC. More...

#include <PID-double.h>

Inherits UnparametricField< K >.

Public Types

Common Object Interface for a LinBox Field.

These methods and member types are required of all LinBox fields.

See FieldArchetype for detailed specifications.

typedef UnparametricRandIter< K > RandIter
 Type of random field element generators.
 

Public Member Functions

long compare (const Element &a, const Element &b) const
 compare two elements, a and b. More...
 
Field Object Basics.
std::istream & read (std::istream &is)
 Builds this field to have characteristic q and cardinality qe. More...
 
std::istream & read (std::istream &s, Element &a) const
 Builds this field to have characteristic q and cardinality qe. More...
 
template<typename Src >
Element & init (Element &x, const Src &s) const
 Builds this field to have characteristic q and cardinality qe. More...
 
Element & init (Element &x) const
 Builds this field to have characteristic q and cardinality qe. More...
 
template<typename T >
T & convert (T &x, const Element &y) const
 Builds this field to have characteristic q and cardinality qe. More...
 
integercardinality (integer &c) const
 Builds this field to have characteristic q and cardinality qe. More...
 
integercharacteristic (integer &c) const
 Builds this field to have characteristic q and cardinality qe. More...
 
Implementation-Specific Methods.

These methods are not required of all LinBox fields and are included only for the implementation of this field template.

const K & operator() (void) const
 Constant access operator. More...
 
K & operator() (void)
 Access operator. More...
 

Static Public Member Functions

static bool isUnit (const Element &x)
 test if unit (1 or -1)
 
static Element & abs (Element &x, const Element &a)
 return absolute value
 
static Element abs (const Element &a)
 return absolute value
 
static Element & gcd (Element &g, const Element &a, const Element &b)
 gcd (g, a, b). More...
 
static Element & gcdin (Element &g, const Element &b)
 gcding (g, b). More...
 
static Element & xgcd (Element &g, Element &s, Element &t, const Element &a, const Element &b)
 xgcd (g, s, t, a, b) g = gcd(a, b) = a*s + b*t. More...
 
static Element & lcm (Element &c, const Element &a, const Element &b)
 lcm (c, a, b) c = lcm (a, b)
 
static Element & lcmin (Element &l, const Element &b)
 lcmin (l, b) l = lcm (l, b)
 
static Element & quo (Element &q, const Element &a, const Element &b)
 quo (q, x, y) q = floor (x/y);
 
static Element & rem (Element &r, const Element &a, const Element &b)
 rem (r, a, b) r = remindar of a / b
 
static Element & quoin (Element &a, const Element &b)
 quoin (a, b) a = quotient (a, b)
 
static Element & remin (Element &a, const Element &b)
 quoin (a, b) a = quotient (a, b)
 
static void quoRem (Element &q, Element &r, const Element &a, const Element &b)
 quoRem (q, r, a, b) q = [a/b], r = a - b*q |r| < |b|, and if r != 0, sign(r) = sign(b)
 
static bool isDivisor (const Element &a, const Element &b)
 isDivisor (a, b) Test if a | b.
 

Detailed Description

NO DOC.

Member Function Documentation

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

static Element& gcd ( Element &  g,
const Element &  a,
const Element &  b 
)
inlinestatic

gcd (g, a, b).

return g = gcd (a, b)

static Element& gcdin ( Element &  g,
const Element &  b 
)
inlinestatic

gcding (g, b).

return g = gcd (g, b)

static Element& xgcd ( Element &  g,
Element &  s,
Element &  t,
const Element &  a,
const Element &  b 
)
inlinestatic

xgcd (g, s, t, a, b) 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.

std::istream& read ( std::istream &  is)
inlineinherited

Builds this field to have characteristic q and cardinality qe.

This constructor must be defined in a specialization.

std::istream& read ( std::istream &  s,
Element &  a 
) const
inlineinherited

Builds this field to have characteristic q and cardinality qe.

This constructor must be defined in a specialization.

Element& init ( Element &  x,
const Src &  s 
) const
inlineinherited

Builds this field to have characteristic q and cardinality qe.

This constructor must be defined in a specialization.

Element& init ( Element &  x) const
inlineinherited

Builds this field to have characteristic q and cardinality qe.

This constructor must be defined in a specialization.

T& convert ( T &  x,
const Element &  y 
) const
inlineinherited

Builds this field to have characteristic q and cardinality qe.

This constructor must be defined in a specialization.

integer& cardinality ( integer c) const
inlineinherited

Builds this field to have characteristic q and cardinality qe.

This constructor must be defined in a specialization.

integer& characteristic ( integer c) const
inlineinherited

Builds this field to have characteristic q and cardinality qe.

This constructor must be defined in a specialization.

const K& operator() ( void  ) const
inlineinherited

Constant access operator.

Returns
constant reference to field object
K& operator() ( void  )
inlineinherited

Access operator.

Returns
reference to field object

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