linbox  1
NTL_zz_p Struct Reference

long ints modulo a positive integer. More...

#include <ntl-lzz_p.h>

Inheritance diagram for NTL_zz_p:
NTL_PID_zz_p

List of all members.

Additional Inherited Members

- Public Types inherited from UnparametricField< K >
typedef K Element
typedef UnparametricRandIter< K > RandIter
 Type of random field element generators.
- Public Member Functions inherited from UnparametricField< K >
template<>
NTL::zz_p & init (NTL::zz_p &x, const integer &y) const
template<>
integerconvert (integer &x, const NTL::zz_p &y) const
template<>
integercardinality (integer &c) const
template<>
integercharacteristic (integer &c) const
template<>
NTL::zz_p & inv (NTL::zz_p &x, const NTL::zz_p &y) const
template<>
bool isZero (const NTL::zz_p &x) const
template<>
bool isOne (const NTL::zz_p &x) const
template<>
NTL::zz_p & invin (NTL::zz_p &x) const
template<>
std::ostream & write (std::ostream &os) const
template<>
std::ostream & write (std::ostream &os) const
template<>
std::ostream & write (std::ostream &os) const
 UnparametricField (integer q=0, size_t e=1)
 UnparametricField (const UnparametricField &F)
 construct this field as copy of F.
 ~UnparametricField ()
const UnparametricField & operator= (const UnparametricField &F) const
Element & init (Element &x, const integer &y=0) const
 x := y. Caution: it is via cast to long. Good candidate for specialization.
integerconvert (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
integercardinality (integer &c) const
 c := cardinality of this field (-1 if infinite).
integercharacteristic (integer &c) const
 c := characteristic of this field (zero or prime).
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
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
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
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
 UnparametricField (const K &A)
 Default constructor.
const K & operator() (void) const
K & operator() (void)
template<>
NTL::RR & init (NTL::RR &x, const integer &y) const
template<>
integerconvert (integer &x, const NTL::RR &y) const
template<>
NTL::RR & inv (NTL::RR &x, const NTL::RR &y) const
template<>
bool isZero (const NTL::RR &x) const
template<>
bool isOne (const NTL::RR &x) const
template<>
NTL::RR & invin (NTL::RR &x) const
template<>
std::ostream & write (std::ostream &os) const
template<>
 UnparametricField (integer q, size_t e)
template<>
NTL::ZZ_p & init (NTL::ZZ_p &x, const integer &y) const
template<>
integerconvert (integer &x, const NTL::ZZ_p &y) const
template<>
integercardinality (integer &c) const
template<>
integercharacteristic (integer &c) const
template<>
NTL::ZZ_p & inv (NTL::ZZ_p &x, const NTL::ZZ_p &y) const
template<>
bool isZero (const NTL::ZZ_p &x) const
template<>
bool isOne (const NTL::ZZ_p &x) const
template<>
NTL::ZZ_p & invin (NTL::ZZ_p &x) const
template<>
std::ostream & write (std::ostream &os) const

Detailed Description

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.


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