#include <cra-domain-parallel.h>
|
| template<class Param> |
| | ChineseRemainderParallel (const Param &b) |
| |
| | ChineseRemainderParallel (const CRABase &b) |
| |
| template<class ResultType, class Function, class PrimeIterator> |
| ResultType & | operator() (ResultType &res, Function &Iteration, PrimeIterator &primeiter) |
| |
| template<class ResultType, class Function, class PrimeIterator> |
| bool | operator() (int k, ResultType &res, Function &Iteration, PrimeIterator &primeiter, size_t NN=NUM_THREADS) |
| |
| int | iterCount () const |
| | How many iterations have been performed so far.
|
| |
| template<class ResultType, class Function, class PrimeIterator> |
| bool | operator() (int k, ResultType &res, Function &Iteration, PrimeIterator &primeiter) |
| | Run the CRA loop a certain number of times.
|
| |
| template<class Param> |
| bool | changeFactor (const Param &p) |
| |
| template<class Param> |
| Param & | getFactor (Param &p) |
| |
| bool | changePreconditioner (const Integer &f, const Integer &m=Integer(1)) |
| |
| Integer & | getModulus (Integer &m) |
| |
| Integer & | getResidue (Integer &m) |
| |
| Integer & | result (Integer &m) |
| |
| template<class Int, template< class, class > class Vect, template< class > class Alloc> |
| Vect< Int, Alloc< Int > > & | result (Vect< Int, Alloc< Int > > &m) |
| |
|
| void | doskip () |
| | Call this when a bad prime is skipped.
|
| |
| template<class PrimeIterator> |
| auto | get_coprime (PrimeIterator &primeiter) const -> decltype(*primeiter) |
| | Gets a prime from the iterator that is coprime to the curent modulus.
|
| |
◆ Domain
template<class CRABase>
| typedef CRABase::Domain Domain |
◆ DomainElement
◆ Father_t
◆ Self_t
◆ ChineseRemainderParallel() [1/2]
template<class CRABase>
template<class Param>
◆ ChineseRemainderParallel() [2/2]
◆ operator()() [1/3]
template<class CRABase>
| ResultType & operator() |
( |
ResultType & | res, |
|
|
Function & | Iteration, |
|
|
PrimeIterator & | primeiter ) |
|
inline |
◆ operator()() [2/3]
template<class CRABase>
| bool operator() |
( |
int | k, |
|
|
ResultType & | res, |
|
|
Function & | Iteration, |
|
|
PrimeIterator & | primeiter, |
|
|
size_t | NN = NUM_THREADS ) |
|
inline |
◆ doskip()
Call this when a bad prime is skipped.
◆ get_coprime()
template<class CRABase>
| auto get_coprime |
( |
PrimeIterator & | primeiter | ) |
const -> decltype(*primeiter) |
|
inlineprotectedinherited |
Gets a prime from the iterator that is coprime to the curent modulus.
◆ iterCount()
How many iterations have been performed so far.
(This used to be stored in the public field IterCounter.)
◆ operator()() [3/3]
template<class CRABase>
| bool operator() |
( |
int | k, |
|
|
ResultType & | res, |
|
|
Function & | Iteration, |
|
|
PrimeIterator & | primeiter ) |
|
inlineinherited |
Run the CRA loop a certain number of times.
This runs the CRA loop up to k times, or until termination if k is negative.
- Parameters
-
| k | maximum number of iterations, or run until termination if k is negative. |
| [out] | res | an integer |
| Iteration | Function object of two arguments, Iteration(r, F), given prime field F it sets r to the residue(s) and returns an IterationResult to indicate how to incorporate the new residue. This loop may be parallelized. Iteration must be reentrant, thread safe. For example, Iteration may be returning the coefficients of the minimal polynomial of a matrix mod F. |
| primeiter | iterator for generating primes. |
◆ changeFactor()
template<class CRABase>
template<class Param>
| bool changeFactor |
( |
const Param & | p | ) |
|
|
inlineinherited |
◆ getFactor()
template<class CRABase>
template<class Param>
| Param & getFactor |
( |
Param & | p | ) |
|
|
inlineinherited |
◆ changePreconditioner()
◆ getModulus()
◆ getResidue()
◆ result() [1/2]
◆ result() [2/2]
template<class CRABase>
template<class Int, template< class, class > class Vect, template< class > class Alloc>
| Vect< Int, Alloc< Int > > & result |
( |
Vect< Int, Alloc< Int > > & | m | ) |
|
|
inlineinherited |
◆ operator<<
template<class CRABase>
| std::ostream & operator<< |
( |
std::ostream & | out, |
|
|
const Self_t & | cra ) |
|
friend |
◆ MAXSKIP
◆ MAXNONCOPRIME
template<class CRABase>
| const int MAXNONCOPRIME = 1000 |
|
inherited |
◆ Builder_
◆ ngood_
◆ nbad_
◆ nskip_
The documentation for this struct was generated from the following file: