linbox
1
|
Chinese remainder of rationals. More...
#include <rational-cra.h>
Public Member Functions | |
template<class Function , class RandPrimeIterator > | |
Integer & | operator() (Integer &num, Integer &den, Function &Iteration, RandPrimeIterator &genprime) |
The Rational CRA loop. |
Chinese remainder of rationals.
Compute the reconstruction of rational numbers Either by Early Termination see [Dumas, Saunder, Villard, JSC 32 (1/2), pp 71-99, 2001], Or via a bound on the size of the integers.
Integer& operator() | ( | Integer & | num, |
Integer & | den, | ||
Function & | Iteration, | ||
RandPrimeIterator & | genprime | ||
) | [inline] |
The Rational CRA loop.
Given a function to generate residues mod a single prime, this loop produces the residues resulting from the Chinese remainder process on sufficiently many primes to meet the termination condition.
F - Function object of two arguments, F(r, p), given prime p it outputs residue(s) r. This loop may be parallelized. F must be reentrant, thread safe. For example, F may be returning the coefficients of the minimal polynomial of a matrix mod p. Warning - we won't detect bad primes.
genprime - RandIter object for generating primes.