|
Givaro 4.2.1
|
#include <givrns.h>
Public Types | |
| typedef RING | ring |
| typedef Domain::Element | modulo |
| typedef Array0< modulo > | array |
| typedef Array0< Domain > | domains |
Public Member Functions | |
| RNSsystem () | |
| ~RNSsystem () | |
| RNSsystem (const Self_t &R) | |
| RNSsystem (const domains &primes) | |
| void | RnsToMixedRadix (array &mixrad, const array &residu) |
| RING & | MixedRadixToRing (RING &res, const array &mixrad) const |
| void | RingToRns (array &rns, const RING &a) const |
| RING & | RnsToRing (RING &a, const array &rns) |
| size_t | size () const |
| const domains & | Primes () const |
| const Domain | ith (const size_t i) const |
| const array & | Reciprocals () const |
| – Returns an array of the reciprocal \(ck = \left(\prod_{j=0..k-1}p_j\right)^{-1} \mod pk\) | |
| const modulo | reciprocal (const size_t i) const |
| void | setPrimes (const domains &primes) |
Protected Member Functions | |
| void | ComputeCk () |
Protected Attributes | |
| domains | _primes |
| array | _ck |
class RNSsystem.
Structure which manages list of domains in order to convert integer to/from RNS number system using a mixed radix form. This class is parameterized by the type of RING and of Domain. The ring should have:
| typedef Domain::Element modulo |
| RING & MixedRadixToRing | ( | RING & | res, |
| const array & | mixrad ) const |
|
inline |
– Returns an array of the reciprocal \(ck = \left(\prod_{j=0..k-1}p_j\right)^{-1} \mod pk\)
| const RNSsystem< RING, Domain >::modulo reciprocal | ( | const size_t | i | ) | const |
|
protected |