|
Public Types |
| typedef _Integer | Integer |
| typedef std::vector< Integer > | Vector |
| typedef std::list< Vector > | LVector |
| typedef std::list< Integer > | List |
| typedef std::vector< int > | IntVector |
| typedef _Integer | Integer |
| typedef std::vector< Integer > | Vector |
| typedef std::list< Vector > | LVector |
| typedef std::list< Integer > | List |
| typedef std::vector< int > | IntVector |
Public Methods |
| | CRA (size_t n=0, unsigned int EARLY=1, const double BOUND=0) |
| | CRA (size_t n, unsigned int EARLY, const integer BOUND) |
| void | initialize (size_t n, unsigned int EARLY, const integer BOUND) |
| void | initialize (size_t n, unsigned int EARLY=1, const double BOUND=0) |
| template<class Vect, class Function, class RandPrime> Vect & | operator() (Vect &res, const Function &F, RandPrime &genprime) |
| | The CRA loop.
|
| void | progress (const Integer &p, const Integer &d) |
| | Function for adding a new prime and it's residue to the CRA process.
|
| template<class Vect> void | progress (const Integer &p, const Vect &d) |
| | Taking a step when the CRA process is being applied ot a vector or list of values..
|
| int | steps () |
| bool | terminated () |
| size_t | stableSteps () |
| | Number of progress steps without change in the combined residue.
|
| integer & | result (integer &d) |
| | result mod the lcm of the moduli.
|
| template<class Vect> Vect & | result (Vect &w) |
| | results mod the lcm of the moduli.
|
| Integer & | modulus () |
| | CRA () |
| template<class V> void | step (Integer p, const V &d) |
| int | steps () |
| bool | terminated () |
| size_t | changelessness () |
| template<class V> void | result (V &w) |
| Integer & | modulus () |
Protected Methods |
| void | buildTree (List &holdprime, LVector &holdres) |
| void | combine (List &holdprime, LVector &holdres) |
| void | buildTree (List &holdp, List &holdv) |
| void | combine (List &holdp, List &holdv) |
| void | normalize (Integer &res, const Integer &m) |
| void | normalize (Vector &res, const Integer &m) |
| template<class Vect> void | printVect (const Vect &v) |
| void | debug () |
| template<class Vect1, class Vect2> bool | check (const Vect1 &v1, const Vect2 &v2, const Integer &p) |
| template<class Vect1, class Vect2> void | dot (Integer &d, const Vect1 &v1, const Vect2 &v2) |
| void | buildTree (List &holdprime, LVector &holdres) |
| void | combine (List &holdprime, LVector &holdres) |
| void | normalize (Integer &res, const Integer &m) |
| void | normalize (Vector &res, const Integer &m) |
| template<class Vect> void | printVect (const Vect &v) |
| void | debug () |
| template<class Vect1, class Vect2> bool | check (const Vect1 &v1, const Vect2 &v2, const Integer &p) |
| template<class Vect1, class Vect2> void | dot (Integer &d, const Vect1 &v1, const Vect2 &v2) |
Protected Attributes |
| Integer | m |
| double | lm |
| Integer | cert |
| std::vector< int > | randv |
| unsigned int | EARLY_TERM_THRESHOLD |
| double | UPPER_BOUND |
| LVector | holdres |
| List | holdvalue |
| List | holdprime |
| size_t | occurency |
| int | k |
| Integer | cert1 |
| Integer | cert2 |
| std::vector< int > | randv1 |
| std::vector< int > | randv2 |
| size_t | isTerminating |
| bool | first_call |