|
Givaro
|
This class implement the standard arithmetic with Modulo Elements. More...
#include <givzpzGen.h>
Public Types | |
| typedef IntType | Residu_t |
| type to store residue | |
| typedef IntType | Rep |
| Representation of Element of the domain ZpzDom. | |
| typedef Rep * | Array |
| Representation of vector of the Element. | |
| typedef const Rep * | constArray |
| Representation of vector of the Element. | |
Public Member Functions | |
| ZpzDom< IntType > & | operator= (const ZpzDom< IntType > &F) |
| Copy. | |
| ZpzDom () | |
| Constructor. | |
| ZpzDom (Residu_t p) | |
| Constructor. | |
| ZpzDom (const ZpzDom< IntType > &F) | |
| Constructor. | |
| int | operator== (const ZpzDom< IntType > &BC) const |
| (in)Equality | |
| int | operator!= (const ZpzDom< IntType > &BC) const |
| (in)Equality | |
| int | areEqual (const Rep &a, const Rep &b) const |
| (in)Equality | |
| Residu_t | residu () const |
| Access to the modulus. | |
| Residu_t | size () const |
| Access to the modulus. | |
| Rep | access (const Rep &a) const |
| Access to the modulus. | |
| Residu_t | characteristic () const |
| Access to the modulus. | |
| Residu_t | characteristic (Residu_t p) const |
| Access to the modulus. | |
| Residu_t | cardinality () const |
| Access to the modulus. | |
| Rep & | init (Rep &a) const |
| Init a representation. | |
| void | init (const size_t, Array a, constArray b) const |
| Init a representation. | |
| Rep & | init (Rep &r, const long int a) const |
| Init a representation. | |
| Rep & | init (Rep &r, const unsigned long int a) const |
| Init a representation. | |
| Rep & | init (Rep &a, const int i) const |
| Init a representation. | |
| Rep & | init (Rep &a, const unsigned int i) const |
| Init a representation. | |
| Rep & | init (Rep &a, const IntType &i) const |
| Init a representation. | |
| Rep & | init (Rep &a, const double i) const |
| Init a representation. | |
| Rep & | init (Rep &a, const float i) const |
| Init a representation. | |
| float & | convert (float &r, const Rep &a) const |
| Conversion. | |
| double & | convert (double &r, const Rep &a) const |
| Conversion. | |
| long int & | convert (long int &r, const Rep &a) const |
| Conversion. | |
| unsigned long int & | convert (unsigned long int &r, const Rep &a) const |
| Conversion. | |
| IntType & | convert (IntType &i, const Rep &a) const |
| Conversion. | |
| int | isZero (const Rep &a) const |
| Misc methods. | |
| int | isOne (const Rep &a) const |
| Misc methods. | |
| size_t | length (const Rep &a) const |
| Misc methods. | |
| Rep & | mul (Rep &r, const Rep &a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | div (Rep &r, const Rep &a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | add (Rep &r, const Rep &a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | sub (Rep &r, const Rep &a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | neg (Rep &r, const Rep &a) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | inv (Rep &r, const Rep &a) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | mulin (Rep &r, const Rep &a) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | divin (Rep &r, const Rep &a) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | addin (Rep &r, const Rep &a) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | subin (Rep &r, const Rep &a) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | negin (Rep &r) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | invin (Rep &r) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | mul (const size_t sz, Array r, constArray a, constArray b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | mul (const size_t sz, Array r, constArray a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | div (const size_t sz, Array r, constArray a, constArray b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | div (const size_t sz, Array r, constArray a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | add (const size_t sz, Array r, constArray a, constArray b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | add (const size_t sz, Array r, constArray a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | sub (const size_t sz, Array r, constArray a, constArray b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | sub (const size_t sz, Array r, constArray a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | neg (const size_t sz, Array r, constArray a) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | inv (const size_t sz, Array r, constArray a) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | axpy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | axpy (const size_t sz, Array r, constArray a, constArray x, constArray c) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | axpyin (Rep &r, const Rep &a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | axpyin (const size_t sz, Array r, constArray a, constArray x) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | axmy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | axmy (const size_t sz, Array r, constArray a, constArray x, constArray c) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | axmyin (Rep &r, const Rep &a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | maxpy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| Rep & | maxpyin (Rep &r, const Rep &a, const Rep &b) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | maxpyin (const size_t sz, Array r, constArray a, constArray x) const |
| Operations with reduction: r <- a op b mod p, r <- op a mod p. | |
| void | assign (const size_t sz, Array r, constArray a) const |
| Misc: r <- a mod p. | |
| Rep & | assign (Rep &r, const Rep &a) const |
| Misc: r <- a mod p. | |
| Rep & | assign (Rep &r, const long a) const |
| Misc: r <- a mod p. | |
| Rep & | assign (Rep &r, const unsigned long a) const |
| Misc: r <- a mod p. | |
| Rep & | assign (Rep &r, const short a) const |
| Misc: r <- a mod p. | |
| Rep & | assign (Rep &r, const unsigned short a) const |
| Misc: r <- a mod p. | |
| Rep & | reduceadd (Rep &r, const size_t sz, constArray a) const |
| Misc. | |
| Rep & | reducemul (Rep &r, const size_t sz, constArray a) const |
| Misc. | |
| void | i2d (const size_t sz, double *r, constArray a) const |
| Misc. | |
| void | d2i (const size_t sz, Array r, const double *a) const |
| Misc. | |
| std::istream & | read (std::istream &s) |
| IO methods. | |
| std::ostream & | write (std::ostream &s) const |
| IO methods. | |
| std::istream & | read (std::istream &s, Rep &a) const |
| IO methods. | |
| std::ostream & | write (std::ostream &s, const Rep &a) const |
| IO methods. | |
Data Fields | |
| const Rep | zero |
| Constantes. More... | |
| const Rep | one |
| 1 | |
| const Rep | mOne |
| -1 | |
Protected Attributes | |
| Residu_t | _p |
| data representation of the domain: | |
|
typedef GIV_randIter< ZpzDom < IntType >, Rep > | randIter |
| Random. | |
| template<class RandIter > | |
| Rep & | random (RandIter &, Rep &r) const |
| Random. | |
| template<class RandIter > | |
| Rep & | random (RandIter &, Rep &r, long s) const |
| Random. | |
| template<class RandIter > | |
| Rep & | random (RandIter &, Rep &r, const Rep &b) const |
| Random. | |
| template<class RandIter > | |
| Rep & | nonzerorandom (RandIter &, Rep &r) const |
| Random. | |
| template<class RandIter > | |
| Rep & | nonzerorandom (RandIter &, Rep &r, long s) const |
| Random. | |
| template<class RandIter > | |
| Rep & | nonzerorandom (RandIter &, Rep &r, const Rep &b) const |
| Random. | |
This class implement the standard arithmetic with Modulo Elements.
| const Rep zero |
Constantes.
0
1.8.3.1