This parameterized field can be used to construct prime fields. Typical use would be Modular<integer> for integers modulo a large prime, Modular<uint32>, modular<int>, or modular<double> for integers modulo a wordsize * prime. Each of those has specialized performance features suitable to certain applications.
|
Public Types |
| typedef _Element | Element |
typedef ModularBase< _Element
>::RandIter | RandIter |
Public Member Functions |
|
| | Modular () |
| | Modular (unsigned long modulus) |
| | Modular (const integer &modulus) |
| const Modular & | operator= (const Modular &F) |
| Element & | init (Element &x, const integer &y=0) const |
| Element & | init (Element &x, const double &y) 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 |
Friends |
| class | FieldAXPY< Modular< Element > > |