linbox
|
long ints modulo a positive integer. More...
#include <ntl-lzz_p.h>
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 K | Element |
The field's element type. | |
typedef UnparametricRandIter< K > | RandIter |
Type of random field element generators. | |
Public Member Functions | |
template<> | |
NTL::zz_p & | inv (NTL::zz_p &x, const NTL::zz_p &y) const |
template<> | |
NTL::zz_p & | invin (NTL::zz_p &x) const |
template<> | |
std::ostream & | write (std::ostream &os) const |
template<> | |
bool | isZero (const NTL::zz_p &x) const |
template<> | |
bool | isOne (const NTL::zz_p &x) const |
template<> | |
integer & | characteristic (integer &c) const |
template<> | |
integer & | cardinality (integer &c) const |
Field Object Basics. | |
Element & | inv (Element &x, const Element &y) const |
c := characteristic of this field (zero or prime). | |
Element & | invin (Element &x) const |
c := characteristic of this field (zero or prime). | |
std::ostream & | write (std::ostream &os) const |
c := characteristic of this field (zero or prime). | |
std::ostream & | write (std::ostream &os, const Element &p) const |
c := characteristic of this field (zero or prime). | |
bool | isZero (const Element &x) const |
c := characteristic of this field (zero or prime). | |
bool | isOne (const Element &x) const |
c := characteristic of this field (zero or prime). | |
long unsigned int | characteristic (long unsigned int &p) const |
c := characteristic of this field (zero or prime). | |
long unsigned int | characteristic () const |
c := characteristic of this field (zero or prime). | |
integer & | characteristic (integer &c) const |
c := characteristic of this field (zero or prime). | |
long unsigned int | cardinality () const |
c := characteristic of this field (zero or prime). | |
integer & | cardinality (integer &c) const |
c := cardinality of this field (-1 if infinite). | |
template<typename Src > | |
Element & | init (Element &x, const Src &s) const |
c := characteristic of this field (zero or prime). | |
std::istream & | read (std::istream &is, Element &x) const |
c := characteristic of this field (zero or prime). | |
std::istream & | read (std::istream &is) const |
c := characteristic of this field (zero or prime). | |
template<typename T > | |
T & | convert (T &x, const Element &y) const |
c := characteristic of this field (zero or prime). | |
class RR. | |
Rational number field. This field is provided as a convenience in a few places. Use with caution because expression swell. This specialization allows the UnparametricField template class to be used to wrap NTL's RR class as a LinBox field. | |
template<> | |
NTL::RR & | inv (NTL::RR &x, const NTL::RR &y) const |
template<> | |
NTL::RR & | invin (NTL::RR &x) const |
template<> | |
std::ostream & | write (std::ostream &os) const |
template<> | |
bool | isZero (const NTL::RR &x) const |
template<> | |
bool | isOne (const NTL::RR &x) const |
template<> | |
NTL::ZZ_p & | inv (NTL::ZZ_p &x, const NTL::ZZ_p &y) const |
template<> | |
NTL::ZZ_p & | invin (NTL::ZZ_p &x) const |
template<> | |
std::ostream & | write (std::ostream &os) const |
template<> | |
bool | isZero (const NTL::ZZ_p &x) const |
template<> | |
bool | isOne (const NTL::ZZ_p &x) const |
template<> | |
integer & | characteristic (integer &c) const |
template<> | |
integer & | cardinality (integer &c) const |
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. | |
K & | operator() (void) |
Access operator. |
long ints modulo a positive integer.
While NTL allows any int to serve as the modulus, only prime moduli yield fields. The primality of the modulus will not be checked, so it is the programmer's responsibility to supply a prime modulus if a field is wanted. These specializations allow the UnparametricField template class to be used to wrap NTL's zz_p
class as a LinBox field. Uses nice trick for mod p via floating point.
typedef K Element [inherited] |
The field's element type.
Type K must provide a default constructor, a copy constructor, a destructor, and an assignment operator.
NTL::zz_p & inv | ( | NTL::zz_p & | x, |
const NTL::zz_p & | y | ||
) | const [inherited] |
x = 1 / y This function assumes both field elements have already been constructed and initialized.
x | field element (reference returned). |
y | field element. |
NTL::RR & inv | ( | NTL::RR & | x, |
const NTL::RR & | y | ||
) | const [inherited] |
x = 1 / y This function assumes both field elements have already been constructed and initialized.
x | field element (reference returned). |
y | field element. |
NTL::ZZ_p & inv | ( | NTL::ZZ_p & | x, |
const NTL::ZZ_p & | y | ||
) | const [inherited] |
x = 1 / y This function assumes both field elements have already been constructed and initialized.
x | field element (reference returned). |
y | field element. |
NTL::zz_p & invin | ( | NTL::zz_p & | x | ) | const [inherited] |
x = 1 / x This function assumes both field elements have already been constructed and initialized.
x | field element (reference returned). |
NTL::RR & invin | ( | NTL::RR & | x | ) | const [inherited] |
x = 1 / x This function assumes both field elements have already been constructed and initialized.
x | field element (reference returned). |
NTL::ZZ_p & invin | ( | NTL::ZZ_p & | x | ) | const [inherited] |
x = 1 / x This function assumes both field elements have already been constructed and initialized.
x | field element (reference returned). |
std::ostream & write | ( | std::ostream & | os | ) | const [inherited] |
os | output stream to which field is written. |
std::ostream & write | ( | std::ostream & | os | ) | const [inherited] |
os | output stream to which field is written. |
std::ostream & write | ( | std::ostream & | os | ) | const [inherited] |
os | output stream to which field is written. |
bool isZero | ( | const NTL::zz_p & | x | ) | const [inherited] |
Test if field element is equal to zero. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsZero function is called.
x | field element. |
bool isZero | ( | const NTL::RR & | x | ) | const [inherited] |
Test if field element is equal to zero. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsZero function is called.
x | field element. |
bool isZero | ( | const NTL::ZZ_p & | x | ) | const [inherited] |
Test if field element is equal to zero. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsZero function is called.
x | field element. |
bool isOne | ( | const NTL::zz_p & | x | ) | const [inherited] |
Test if field element is equal to one. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsOne function is called.
x | field element. |
bool isOne | ( | const NTL::RR & | x | ) | const [inherited] |
Test if field element is equal to one. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsOne function is called.
x | field element. |
bool isOne | ( | const NTL::ZZ_p & | x | ) | const [inherited] |
Test if field element is equal to one. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsOne function is called.
x | field element. |
Return integer representing characteristic of the field. Returns the modulus of the field, which should be prime.
Return integer representing characteristic of the field. Returns the modulus of the field, which should be prime.
Return integer representing cardinality of the field. Returns the modulus of the field, which should be prime.
Return integer representing cardinality of the field. Returns the modulus of the field, which should be prime.
const K& operator() | ( | void | ) | const [inline, inherited] |
Constant access operator.
K& operator() | ( | void | ) | [inline, inherited] |
Access operator.