linbox
FastMaxQRationalReconstruction< Ring > Class Template Reference

#include <fast-rational-reconstruction.h>

+ Inheritance diagram for FastMaxQRationalReconstruction< Ring >:

Public Types

typedef Ring::Element Element
 

Public Member Functions

 FastMaxQRationalReconstruction (const Ring &Z)
 
bool RationalReconstruction (Element &a, Element &b, const Element &x, const Element &m) const
 
bool RationalReconstruction (Element &a, Element &b, const Element &x, const Element &m, const Element &a_bound) const
 
void write (std::ostream &is) const
 

Data Fields

const Ring _intRing
 
OpCounter C
 

Protected Member Functions

bool fastQMaxRationalReconstruction (Element &n, Element &d, const Element &x, const Element &m) const
 
bool classicQMaxEEA (Element &ai, Element &bi, Element &ci, Element &di, const Element &r0, const Element &r1, const Element &powh, myQueue< Ring > &queueMax, QMatrix< Ring > &maxQ) const
 
bool fastQMaxEEA (Element &ai, Element &bi, Element &ci, Element &di, const Element &m, const size_t d, const Element &n, const Element &powh, const size_t &h, myQueue< Ring > &queueMax, QMatrix< Ring > &maxQ) const
 
Elementpowtwo (Element &h, const Element &log_h) const
 
Elementpowtwo (Element &h, const uint64_t log_h) const
 
bool fastRationalReconstruction (Element &n, Element &d, const Element &x, const Element &m, const Element &d_bound) const
 
void prevEEA (Element &aprev, Element &bprev, Element &cprev, Element &dprev, const Element &ai, const Element &bi, const Element &ci, const Element &di) const
 
bool classicEEA (Element &ai, Element &bi, Element &ci, Element &di, const Element &r0, const Element &r1, const Element &bound, int K=0) const
 
bool fastEEA (Element &ai, Element &bi, Element &ci, Element &di, const Element &m, const size_t d, const Element &n, const Element &powh, const size_t &h) const
 

Protected Attributes

Element cur_ri
 
Element cur_rinext
 
Element cur_ainext
 
Element cur_qinext
 
Element T
 
int c
 
size_t _threshold
 

Member Typedef Documentation

◆ Element

template<class Ring>
typedef Ring::Element Element

Constructor & Destructor Documentation

◆ FastMaxQRationalReconstruction()

template<class Ring>
FastMaxQRationalReconstruction ( const Ring & Z)
inline

Member Function Documentation

◆ RationalReconstruction() [1/2]

template<class Ring>
bool RationalReconstruction ( Element & a,
Element & b,
const Element & x,
const Element & m ) const
inlinevirtual

◆ RationalReconstruction() [2/2]

template<class Ring>
bool RationalReconstruction ( Element & a,
Element & b,
const Element & x,
const Element & m,
const Element & a_bound ) const
inlinevirtual

◆ fastQMaxRationalReconstruction()

template<class Ring>
bool fastQMaxRationalReconstruction ( Element & n,
Element & d,
const Element & x,
const Element & m ) const
inlineprotected

◆ classicQMaxEEA()

template<class Ring>
bool classicQMaxEEA ( Element & ai,
Element & bi,
Element & ci,
Element & di,
const Element & r0,
const Element & r1,
const Element & powh,
myQueue< Ring > & queueMax,
QMatrix< Ring > & maxQ ) const
inlineprotected

◆ fastQMaxEEA()

template<class Ring>
bool fastQMaxEEA ( Element & ai,
Element & bi,
Element & ci,
Element & di,
const Element & m,
const size_t d,
const Element & n,
const Element & powh,
const size_t & h,
myQueue< Ring > & queueMax,
QMatrix< Ring > & maxQ ) const
inlineprotected

◆ powtwo() [1/2]

template<class Ring>
Element & powtwo ( Element & h,
const Element & log_h ) const
inlineprotectedinherited

◆ powtwo() [2/2]

template<class Ring>
Element & powtwo ( Element & h,
const uint64_t log_h ) const
inlineprotectedinherited

◆ fastRationalReconstruction()

template<class Ring>
bool fastRationalReconstruction ( Element & n,
Element & d,
const Element & x,
const Element & m,
const Element & d_bound ) const
inlineprotectedinherited

◆ prevEEA()

template<class Ring>
void prevEEA ( Element & aprev,
Element & bprev,
Element & cprev,
Element & dprev,
const Element & ai,
const Element & bi,
const Element & ci,
const Element & di ) const
inlineprotectedinherited

◆ classicEEA()

template<class Ring>
bool classicEEA ( Element & ai,
Element & bi,
Element & ci,
Element & di,
const Element & r0,
const Element & r1,
const Element & bound,
int K = 0 ) const
inlineprotectedinherited

◆ fastEEA()

template<class Ring>
bool fastEEA ( Element & ai,
Element & bi,
Element & ci,
Element & di,
const Element & m,
const size_t d,
const Element & n,
const Element & powh,
const size_t & h ) const
inlineprotectedinherited

◆ write()

template<class Ring>
void write ( std::ostream & is) const
inlineinherited

Field Documentation

◆ _intRing

template<class Ring>
const Ring _intRing

◆ cur_ri

template<class Ring>
Element cur_ri
mutableprotected

◆ cur_rinext

template<class Ring>
Element cur_rinext
mutableprotected

◆ cur_ainext

template<class Ring>
Element cur_ainext
mutableprotected

◆ cur_qinext

template<class Ring>
Element cur_qinext
mutableprotected

◆ T

template<class Ring>
Element T
mutableprotected

◆ c

template<class Ring>
int c
mutableprotected

◆ _threshold

template<class Ring>
size_t _threshold
protectedinherited

◆ C

template<class Ring>
OpCounter C
mutableinherited

The documentation for this class was generated from the following file: