For some uses this is the most efficient field for primes in the range from half word to 2^30.
Requires: Modulus < 2^30. Intended use: 2^15 < prime modulus < 2^30.
|
Public Types |
| typedef int | Element |
| typedef ModularRandIter< int > | RandIter |
| typedef int | Element |
| typedef ModularRandIter< int > | RandIter |
Public Methods |
| | Modular () |
| | Modular (int value) |
| | Modular (const Modular< int > &mf) |
| const Modular & | operator= (const Modular< int > &F) |
| integer & | cardinality (integer &c) const |
| integer & | characteristic (integer &c) const |
| integer & | convert (integer &x, const Element &y) const |
| std::ostream & | write (std::ostream &os) const |
| std::istream & | read (std::istream &is) |
| std::ostream & | write (std::ostream &os, const Element &x) const |
| std::istream & | read (std::istream &is, Element &x) const |
| Element & | init (Element &x, const integer &y) const |
| Element & | init (Element &x, int y=0) const |
| Element & | init (Element &x, long y) const |
| Element & | assign (Element &x, const Element &y) const |
| bool | areEqual (const Element &x, const Element &y) const |
| bool | isZero (const Element &x) const |
| bool | isOne (const Element &x) const |
| Element & | add (Element &x, const Element &y, const Element &z) const |
| Element & | sub (Element &x, const Element &y, const Element &z) const |
| Element & | mul (Element &x, const Element &y, const Element &z) const |
| Element & | div (Element &x, const Element &y, const Element &z) const |
| Element & | neg (Element &x, const Element &y) const |
| Element & | inv (Element &x, const Element &y) const |
| Element & | axpy (Element &r, const Element &a, const Element &x, const Element &y) const |
| Element & | addin (Element &x, const Element &y) const |
| Element & | subin (Element &x, const Element &y) const |
| Element & | mulin (Element &x, const Element &y) const |
| Element & | divin (Element &x, const Element &y) const |
| Element & | negin (Element &x) const |
| Element & | invin (Element &x) const |
| Element & | axpyin (Element &r, const Element &a, const Element &x) const |
| | Modular () |
| | Modular (int value) |
| | Modular (const Modular< int > &mf) |
| const Modular & | operator= (const Modular< int > &F) |
| integer & | cardinality (integer &c) const |
| integer & | characteristic (integer &c) const |
| integer & | convert (integer &x, const Element &y) const |
| double & | convert (double &x, const Element &y) const |
| std::ostream & | write (std::ostream &os) const |
| std::istream & | read (std::istream &is) |
| std::ostream & | write (std::ostream &os, const Element &x) const |
| std::istream & | read (std::istream &is, Element &x) const |
| template<class Element1> Element & | init (Element &x, const Element1 &y) const |
| Element & | init (Element &x, const double &y) const |
| Element & | init (Element &x, const integer &y) const |
| Element & | init (Element &x, int y=0) const |
| Element & | init (Element &x, long y) const |
| Element & | assign (Element &x, const Element &y) const |
| bool | areEqual (const Element &x, const Element &y) const |
| bool | isZero (const Element &x) const |
| bool | isOne (const Element &x) const |
| Element & | add (Element &x, const Element &y, const Element &z) const |
| Element & | sub (Element &x, const Element &y, const Element &z) const |
| Element & | mul (Element &x, const Element &y, const Element &z) const |
| Element & | div (Element &x, const Element &y, const Element &z) const |
| Element & | neg (Element &x, const Element &y) const |
| Element & | inv (Element &x, const Element &y) const |
| Element & | axpy (Element &r, const Element &a, const Element &x, const Element &y) const |
| Element & | addin (Element &x, const Element &y) const |
| Element & | subin (Element &x, const Element &y) const |
| Element & | mulin (Element &x, const Element &y) const |
| Element & | divin (Element &x, const Element &y) const |
| Element & | negin (Element &x) const |
| Element & | invin (Element &x) const |
| Element & | axpyin (Element &r, const Element &a, const Element &x) const |
Protected Attributes |
| int | modulus |
| int | halfmodulus |
| int | nhalfmodulus |
| double | modulusinv |
| int | _two64 |
Friends |
| class | FieldAXPY< Modular< int > > |
| class | DotProductDomain< Modular< int > > |
| class | MVProductDomain< Modular< int > > |