#include <unparametric.h>
Inheritance diagram for UnparametricField:
Public Types | |
Common Object Interface for a LinBox Field. | |
typedef K | Element |
typedef UnparametricRandIter< K > | RandIter |
Type of random field element generators. | |
Public Methods | |
Field Object Basics. | |
UnparametricField (integer q=0, size_t e=1) | |
UnparametricField (const UnparametricField &F) | |
construct this field as copy of F. | |
~UnparametricField () | |
UnparametricField & | operator= (const UnparametricField &F) |
Data Object Management. | |
first argument is set and the value is also returned. | |
Field Object Basics Element & | init (Element &x, const integer &y=0) const |
x := y. Caution: it is via cast to long. Good candidate for specialization. | |
integer & | convert (integer &x, const Element &y) const |
x := y. Caution: it is via cast to long. Good candidate for specialization. | |
double & | convert (double &x, const Element &y) const |
x := y. Caution: it is via cast to long. Good candidate for specialization. --dpritcha | |
Element & | assign (Element &x, const Element &y) const |
integer & | cardinality (integer &c) const |
c := cardinality of this field (-1 if infinite). | |
integer & | characteristic (integer &c) const |
c := characteristic of this field (zero or prime). | |
Comparison Predicates | |
Data Object Management bool | areEqual (const Element &x, const Element &y) const |
x == y | |
bool | isZero (const Element &x) const |
x == 0 | |
bool | isOne (const Element &x) const |
x == 1 | |
Arithmetic Operations | |
The first argument is set and is also the return value. | |
Comparison Predicates Element & | add (Element &x, const Element &y, const Element &z) const |
x := y + z | |
Element & | sub (Element &x, const Element &y, const Element &z) const |
x := y - z | |
Element & | mul (Element &x, const Element &y, const Element &z) const |
x := y*z | |
Element & | div (Element &x, const Element &y, const Element &z) const |
x := y/z | |
Element & | neg (Element &x, const Element &y) const |
x := -y | |
Element & | inv (Element &x, const Element &y) const |
x := 1/y | |
Element & | axpy (Element &z, const Element &a, const Element &x, const Element &y) const |
z := a*x + y | |
Inplace Arithmetic Operations | |
The first argument is modified and the result is the return value. | |
Arithmetic Operations Element & | addin (Element &x, const Element &y) const |
x := x + y | |
Element & | subin (Element &x, const Element &y) const |
x := x - y | |
Element & | mulin (Element &x, const Element &y) const |
x := x*y | |
Element & | divin (Element &x, const Element &y) const |
x := x/y | |
Element & | negin (Element &x) const |
x := -x | |
Element & | invin (Element &x) const |
x := 1/x | |
Element & | axpyin (Element &y, const Element &a, const Element &x) const |
y := a*x + y | |
Input/Output Operations | |
Inplace Arithmetic Operations std::ostream & | write (std::ostream &os) const |
std::istream & | read (std::istream &is) const |
std::ostream & | write (std::ostream &os, const Element &x) const |
std::istream & | read (std::istream &is, Element &x) const |
Implementation-Specific Methods. | |
These methods are not required of all LinBox fields and are included only for the implementation of this field template. | |
Common Object Interface | UnparametricField (const K &A) |
Default constructor. | |
const K & | operator() (void) const |
K & | operator() (void) |
Protected Attributes | |
integer | _p |
integer | _card |
|
The field's element type. Type K must provide a default constructor, a copy constructor, a destructor, and an assignment operator. Reimplemented in GivaroRational, Local2_32, PID_double, PID_integer, and PIR_ntl_ZZ_p. |
|
Type of random field element generators.
|
|
Builds this field to have characteristic q and cardinality qe. This constructor must be defined in a specialization. |
|
construct this field as copy of F.
|
|
XML constructor Takes in an XML reader and attempts to convert the XML representation over to a valid field. As this class is mostly a wrapper for a particular field type, the XML does little more than encode the cardinality of this field, and perhaps the characteristic |
|
Default constructor. Constructor from field object.
|
|
x := y + z
|
|
x := x + y
|
|
x == y
|
|
|
|
z := a*x + y
|
|
y := a*x + y
|
|
c := cardinality of this field (-1 if infinite).
|
|
c := characteristic of this field (zero or prime).
|
|
x := y. Caution: it is via cast to long. Good candidate for specialization. --dpritcha
Reimplemented in PID_double, and PID_integer. |
|
x := y. Caution: it is via cast to long. Good candidate for specialization.
Reimplemented in PID_double, and PID_integer. |
|
x := y/z
Reimplemented in NTL_PID_zz_p. |
|
x := x/y
Reimplemented in NTL_PID_zz_p. |
|
x := y. Caution: it is via cast to long. Good candidate for specialization.
Reimplemented in GivaroRational, PID_double, and PID_integer. |
|
x := 1/y
|
|
x := 1/x
|
|
x == 1
|
|
x == 0
|
|
x := y*z
|
|
x := x*y
|
|
x := -y
|
|
x := -x
|
|
Access operator.
|
|
Constant access operator.
|
|
|
|
Read field element.
|
|
Read field.
|
|
x := y - z
|
|
x := x - y
|
|
Print field element.
|
|
Print field.
|
|
|
|
|