#include <local2_32.h>
Inheritance diagram for Local2_32:

Extend UnparametricField<uint32> which is a representation of Z_2^32. It is especially fast because it uses hardware arithmetic directly. This ring is a Local Principal Ideal Ring.
These needed PIR functions are added: gcdin(), isUnit(), also inv() is modified to work correctly. The type Exponent is added: more effective rep of the powers of 2, which are important because gcds are powers of 2). This entails some new versions of divin(), mulin(), isUnit().
Those are the function needed for the LocalSmith algorithm. Further appropriate PIR functions may be added later.
Public Types | |
| typedef UnparametricField< uint32 >::Element | Element |
| enum | Exponent { _min = 0, _max = 32 } |
Public Member Functions | |
| Local2_32 (int p=2, int exp=32) | |
Static Public Member Functions | |
| Exponent & | gcdin (Exponent &k, const Element &b) |
| bool | isUnit (const Exponent &a) |
| bool | isZero (const Element &a) |
| bool | isZero (const Exponent &a) |
| bool | isUnit (const Element &a) |
| Element & | mulin (Element &a, const Exponent &k) |
| Element & | mulin (Element &a, const Element &b) |
| Element & | axpyin (Element &r, const Element &x, const Element &y) |
| Element & | divin (Element &a, const Exponent &k) |
| Element & | inv (Element &a, const Element &b) |
| integer | getMaxModulus () |
Static Protected Member Functions | |
| Element & | xgcd (Element &d, Element &s, Element &t, const Element &a, const Element &b) |
| Element & | HGCD (Element &g, Element &s, const Element &a, const Element &b) |
| Half GCD g = gcd (a, b). exists t, such that: s * a + t * b = g. return g. | |
|
|
The field's element type. Type K must provide a default constructor, a copy constructor, a destructor, and an assignment operator. Reimplemented from UnparametricField< uint32 >. |
|
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||||||
|
|
|
||||||||||||
|
|
|
||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
||||||||||||||||||||
|
Half GCD g = gcd (a, b). exists t, such that: s * a + t * b = g. return g.
|
1.3.7