Givaro 4.2.1
FracDom< RingDom > Struct Template Reference

#include <givfractiondomain.h>

+ Inheritance diagram for FracDom< RingDom >:

Public Types

typedef FracDom< RingDom > Self_t
 
typedef RingDom Ring_t
 
typedef RingDom::Element Ring_E
 
typedef Frac< Ring_E, Ring_EElement
 
typedef Frac< Ring_E, Ring_ERep
 

Public Member Functions

void reduce (Ring_E &a, Ring_E &b) const
 
Repreduce (Rep &r) const
 
 FracDom (const RingDom &R)
 
 FracDom (const Self_t &F)
 
const Ring_tgetdomain () const
 
const Ring_tgetring () const
 
Repinit (Rep &a) const
 
template<class XXX>
Repinit (Rep &p, const XXX &cste) const
 
Repassign (Rep &p, const Rep &q) const
 
Repassign (Rep &p, const Ring_E &q) const
 
int isZero (const Rep &P) const
 
int isOne (const Rep &P) const
 
int isMOne (const Rep &P) const
 
int areEqual (const Rep &P, const Rep &Q) const
 
int areNEqual (const Rep &P, const Rep &Q) const
 
std::istream & read (std::istream &i)
 
std::ostream & write (std::ostream &o) const
 
std::istream & read (std::istream &i, Rep &n) const
 
std::ostream & write (std::ostream &o, const Rep &n) const
 
Repmulin (Rep &q, const Rep &a) const
 
Repmulin (Rep &q, const Ring_E &a) const
 
Repmul (Rep &q, const Rep &a, const Ring_E &b) const
 
Repmul (Rep &q, const Ring_E &a, const Rep &b) const
 
Repmul (Rep &q, const Rep &a, const Rep &b) const
 
Repaddin (Rep &res, const Rep &u) const
 
Repaddin (Rep &res, const Ring_E &a) const
 
Repadd (Rep &res, const Rep &u, const Rep &v) const
 
Repadd (Rep &res, const Rep &u, const Ring_E &a) const
 
Repadd (Rep &res, const Ring_E &a, const Rep &u) const
 
Repsubin (Rep &res, const Rep &u) const
 
Repsubin (Rep &res, const Ring_E &a) const
 
Repsub (Rep &res, const Rep &u, const Rep &v) const
 
Repsub (Rep &res, const Rep &u, const Ring_E &a) const
 
Repsub (Rep &res, const Ring_E &a, const Rep &u) const
 
Repnegin (Rep &res) const
 
Repneg (Rep &res, const Rep &u) const
 
Repinvin (Rep &q) const
 
Repinv (Rep &r, const Rep &u) const
 
Repinv (Rep &r, const Ring_E &a)
 
Repdivin (Rep &q, const Rep &a) const
 
Repdivin (Rep &q, const Ring_E &a) const
 
Repdiv (Rep &q, const Rep &a, const Rep &b) const
 
Repaxpy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
 
Repaxpy (Rep &r, const Rep &a, const Ring_E &x, const Rep &y) const
 
Repaxpy (Rep &r, const Rep &a, const Rep &x, const Ring_E &y) const
 
Repaxpy (Rep &r, const Ring_E &a, const Rep &x, const Rep &y) const
 
Repaxpy (Rep &r, const Ring_E &a, const Ring_E &x, const Rep &y) const
 
Repaxpy (Rep &r, const Ring_E &a, const Rep &x, const Ring_E &y) const
 
Repaxpy (Rep &r, const Rep &a, const Ring_E &x, const Ring_E &y) const
 
Repaxpyin (Rep &r, const Rep &a, const Rep &x) const
 
Repaxpyin (Rep &r, const Ring_E &a, const Rep &x) const
 
Repaxpyin (Rep &r, const Rep &a, const Ring_E &x) const
 
Repaxpyin (Rep &r, const Ring_E &a, const Ring_E &x) const
 
Repmaxpy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
 
Repmaxpy (Rep &r, const Rep &a, const Ring_E &x, const Rep &y) const
 
Repmaxpy (Rep &r, const Rep &a, const Rep &x, const Ring_E &y) const
 
Repmaxpy (Rep &r, const Ring_E &a, const Rep &x, const Rep &y) const
 
Repmaxpy (Rep &r, const Ring_E &a, const Ring_E &x, const Rep &y) const
 
Repmaxpy (Rep &r, const Ring_E &a, const Rep &x, const Ring_E &y) const
 
Repmaxpy (Rep &r, const Rep &a, const Ring_E &x, const Ring_E &y) const
 
Repaxmyin (Rep &r, const Rep &a, const Rep &x) const
 
Repaxmyin (Rep &r, const Ring_E &a, const Rep &x) const
 
Repaxmyin (Rep &r, const Rep &a, const Ring_E &x) const
 
Repaxmyin (Rep &r, const Ring_E &a, const Ring_E &x) const
 
Repmaxpyin (Rep &r, const Rep &a, const Rep &x) const
 
Repmaxpyin (Rep &r, const Ring_E &a, const Rep &x) const
 
Repmaxpyin (Rep &r, const Rep &a, const Ring_E &x) const
 
Repmaxpyin (Rep &r, const Ring_E &a, const Ring_E &x) const
 
Repaxmy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
 
Repaxmy (Rep &r, const Ring_E &a, const Rep &x, const Rep &y) const
 
Repaxmy (Rep &r, const Rep &a, const Ring_E &x, const Rep &y) const
 
Repaxmy (Rep &r, const Rep &a, const Rep &x, const Ring_E &y) const
 
Repaxmy (Rep &r, const Ring_E &a, const Ring_E &x, const Rep &y) const
 
Repaxmy (Rep &r, const Ring_E &a, const Rep &x, const Ring_E &y) const
 
Repaxmy (Rep &r, const Rep &a, const Ring_E &x, const Ring_E &y) const
 
Reppow (Rep &W, const Rep &P, long n) const
 
template<class RandIter>
Reprandom (RandIter &g, Rep &r) const
 
template<class RandIter, class XXX>
Reprandom (RandIter &g, Rep &r, const XXX &s) const
 
template<class RandIter>
Repnonzerorandom (RandIter &g, Rep &r) const
 
template<class RandIter, class XXX>
Repnonzerorandom (RandIter &g, Rep &r, const XXX &s) const
 

Data Fields

const Rep zero
 
const Rep one
 
const Rep mOne
 

Member Typedef Documentation

◆ Self_t

template<class RingDom>
typedef FracDom<RingDom> Self_t

◆ Ring_t

template<class RingDom>
typedef RingDom Ring_t

◆ Ring_E

template<class RingDom>
typedef RingDom::Element Ring_E

◆ Element

template<class RingDom>
typedef Frac<Ring_E, Ring_E> Element

◆ Rep

template<class RingDom>
typedef Frac<Ring_E, Ring_E> Rep

Constructor & Destructor Documentation

◆ FracDom() [1/2]

template<class RingDom>
FracDom ( const RingDom & R)
inline

◆ FracDom() [2/2]

template<class RingDom>
FracDom ( const Self_t & F)
inline

Member Function Documentation

◆ reduce() [1/2]

template<class RingDom>
void reduce ( Ring_E & a,
Ring_E & b ) const
inline

◆ reduce() [2/2]

template<class RingDom>
Rep & reduce ( Rep & r) const
inline

◆ getdomain()

template<class RingDom>
const Ring_t & getdomain ( ) const
inline

◆ getring()

template<class RingDom>
const Ring_t & getring ( ) const
inline

◆ init() [1/2]

template<class RingDom>
Rep & init ( Rep & a) const
inline

◆ init() [2/2]

template<class RingDom>
template<class XXX>
Rep & init ( Rep & p,
const XXX & cste ) const
inline

◆ assign() [1/2]

template<class RingDom>
Rep & assign ( Rep & p,
const Rep & q ) const
inline

◆ assign() [2/2]

template<class RingDom>
Rep & assign ( Rep & p,
const Ring_E & q ) const
inline

◆ isZero()

template<class RingDom>
int isZero ( const Rep & P) const
inline

◆ isOne()

template<class RingDom>
int isOne ( const Rep & P) const
inline

◆ isMOne()

template<class RingDom>
int isMOne ( const Rep & P) const
inline

◆ areEqual()

template<class RingDom>
int areEqual ( const Rep & P,
const Rep & Q ) const
inline

◆ areNEqual()

template<class RingDom>
int areNEqual ( const Rep & P,
const Rep & Q ) const
inline

◆ read() [1/2]

template<class RingDom>
std::istream & read ( std::istream & i)
inline

◆ write() [1/2]

template<class RingDom>
std::ostream & write ( std::ostream & o) const
inline

◆ read() [2/2]

template<class RingDom>
std::istream & read ( std::istream & i,
Rep & n ) const
inline

◆ write() [2/2]

template<class RingDom>
std::ostream & write ( std::ostream & o,
const Rep & n ) const
inline

◆ mulin() [1/2]

template<class RingDom>
Rep & mulin ( Rep & q,
const Rep & a ) const
inline

◆ mulin() [2/2]

template<class RingDom>
Rep & mulin ( Rep & q,
const Ring_E & a ) const
inline

◆ mul() [1/3]

template<class RingDom>
Rep & mul ( Rep & q,
const Rep & a,
const Ring_E & b ) const
inline

◆ mul() [2/3]

template<class RingDom>
Rep & mul ( Rep & q,
const Ring_E & a,
const Rep & b ) const
inline

◆ mul() [3/3]

template<class RingDom>
Rep & mul ( Rep & q,
const Rep & a,
const Rep & b ) const
inline

◆ addin() [1/2]

template<class RingDom>
Rep & addin ( Rep & res,
const Rep & u ) const
inline

◆ addin() [2/2]

template<class RingDom>
Rep & addin ( Rep & res,
const Ring_E & a ) const
inline

◆ add() [1/3]

template<class RingDom>
Rep & add ( Rep & res,
const Rep & u,
const Rep & v ) const
inline

◆ add() [2/3]

template<class RingDom>
Rep & add ( Rep & res,
const Rep & u,
const Ring_E & a ) const
inline

◆ add() [3/3]

template<class RingDom>
Rep & add ( Rep & res,
const Ring_E & a,
const Rep & u ) const
inline

◆ subin() [1/2]

template<class RingDom>
Rep & subin ( Rep & res,
const Rep & u ) const
inline

◆ subin() [2/2]

template<class RingDom>
Rep & subin ( Rep & res,
const Ring_E & a ) const
inline

◆ sub() [1/3]

template<class RingDom>
Rep & sub ( Rep & res,
const Rep & u,
const Rep & v ) const
inline

◆ sub() [2/3]

template<class RingDom>
Rep & sub ( Rep & res,
const Rep & u,
const Ring_E & a ) const
inline

◆ sub() [3/3]

template<class RingDom>
Rep & sub ( Rep & res,
const Ring_E & a,
const Rep & u ) const
inline

◆ negin()

template<class RingDom>
Rep & negin ( Rep & res) const
inline

◆ neg()

template<class RingDom>
Rep & neg ( Rep & res,
const Rep & u ) const
inline

◆ invin()

template<class RingDom>
Rep & invin ( Rep & q) const
inline

◆ inv() [1/2]

template<class RingDom>
Rep & inv ( Rep & r,
const Rep & u ) const
inline

◆ inv() [2/2]

template<class RingDom>
Rep & inv ( Rep & r,
const Ring_E & a )
inline

◆ divin() [1/2]

template<class RingDom>
Rep & divin ( Rep & q,
const Rep & a ) const
inline

◆ divin() [2/2]

template<class RingDom>
Rep & divin ( Rep & q,
const Ring_E & a ) const
inline

◆ div()

template<class RingDom>
Rep & div ( Rep & q,
const Rep & a,
const Rep & b ) const
inline

◆ axpy() [1/7]

template<class RingDom>
Rep & axpy ( Rep & r,
const Rep & a,
const Rep & x,
const Rep & y ) const
inline

◆ axpy() [2/7]

template<class RingDom>
Rep & axpy ( Rep & r,
const Rep & a,
const Ring_E & x,
const Rep & y ) const
inline

◆ axpy() [3/7]

template<class RingDom>
Rep & axpy ( Rep & r,
const Rep & a,
const Rep & x,
const Ring_E & y ) const
inline

◆ axpy() [4/7]

template<class RingDom>
Rep & axpy ( Rep & r,
const Ring_E & a,
const Rep & x,
const Rep & y ) const
inline

◆ axpy() [5/7]

template<class RingDom>
Rep & axpy ( Rep & r,
const Ring_E & a,
const Ring_E & x,
const Rep & y ) const
inline

◆ axpy() [6/7]

template<class RingDom>
Rep & axpy ( Rep & r,
const Ring_E & a,
const Rep & x,
const Ring_E & y ) const
inline

◆ axpy() [7/7]

template<class RingDom>
Rep & axpy ( Rep & r,
const Rep & a,
const Ring_E & x,
const Ring_E & y ) const
inline

◆ axpyin() [1/4]

template<class RingDom>
Rep & axpyin ( Rep & r,
const Rep & a,
const Rep & x ) const
inline

◆ axpyin() [2/4]

template<class RingDom>
Rep & axpyin ( Rep & r,
const Ring_E & a,
const Rep & x ) const
inline

◆ axpyin() [3/4]

template<class RingDom>
Rep & axpyin ( Rep & r,
const Rep & a,
const Ring_E & x ) const
inline

◆ axpyin() [4/4]

template<class RingDom>
Rep & axpyin ( Rep & r,
const Ring_E & a,
const Ring_E & x ) const
inline

◆ maxpy() [1/7]

template<class RingDom>
Rep & maxpy ( Rep & r,
const Rep & a,
const Rep & x,
const Rep & y ) const
inline

◆ maxpy() [2/7]

template<class RingDom>
Rep & maxpy ( Rep & r,
const Rep & a,
const Ring_E & x,
const Rep & y ) const
inline

◆ maxpy() [3/7]

template<class RingDom>
Rep & maxpy ( Rep & r,
const Rep & a,
const Rep & x,
const Ring_E & y ) const
inline

◆ maxpy() [4/7]

template<class RingDom>
Rep & maxpy ( Rep & r,
const Ring_E & a,
const Rep & x,
const Rep & y ) const
inline

◆ maxpy() [5/7]

template<class RingDom>
Rep & maxpy ( Rep & r,
const Ring_E & a,
const Ring_E & x,
const Rep & y ) const
inline

◆ maxpy() [6/7]

template<class RingDom>
Rep & maxpy ( Rep & r,
const Ring_E & a,
const Rep & x,
const Ring_E & y ) const
inline

◆ maxpy() [7/7]

template<class RingDom>
Rep & maxpy ( Rep & r,
const Rep & a,
const Ring_E & x,
const Ring_E & y ) const
inline

◆ axmyin() [1/4]

template<class RingDom>
Rep & axmyin ( Rep & r,
const Rep & a,
const Rep & x ) const
inline

◆ axmyin() [2/4]

template<class RingDom>
Rep & axmyin ( Rep & r,
const Ring_E & a,
const Rep & x ) const
inline

◆ axmyin() [3/4]

template<class RingDom>
Rep & axmyin ( Rep & r,
const Rep & a,
const Ring_E & x ) const
inline

◆ axmyin() [4/4]

template<class RingDom>
Rep & axmyin ( Rep & r,
const Ring_E & a,
const Ring_E & x ) const
inline

◆ maxpyin() [1/4]

template<class RingDom>
Rep & maxpyin ( Rep & r,
const Rep & a,
const Rep & x ) const
inline

◆ maxpyin() [2/4]

template<class RingDom>
Rep & maxpyin ( Rep & r,
const Ring_E & a,
const Rep & x ) const
inline

◆ maxpyin() [3/4]

template<class RingDom>
Rep & maxpyin ( Rep & r,
const Rep & a,
const Ring_E & x ) const
inline

◆ maxpyin() [4/4]

template<class RingDom>
Rep & maxpyin ( Rep & r,
const Ring_E & a,
const Ring_E & x ) const
inline

◆ axmy() [1/7]

template<class RingDom>
Rep & axmy ( Rep & r,
const Rep & a,
const Rep & x,
const Rep & y ) const
inline

◆ axmy() [2/7]

template<class RingDom>
Rep & axmy ( Rep & r,
const Ring_E & a,
const Rep & x,
const Rep & y ) const
inline

◆ axmy() [3/7]

template<class RingDom>
Rep & axmy ( Rep & r,
const Rep & a,
const Ring_E & x,
const Rep & y ) const
inline

◆ axmy() [4/7]

template<class RingDom>
Rep & axmy ( Rep & r,
const Rep & a,
const Rep & x,
const Ring_E & y ) const
inline

◆ axmy() [5/7]

template<class RingDom>
Rep & axmy ( Rep & r,
const Ring_E & a,
const Ring_E & x,
const Rep & y ) const
inline

◆ axmy() [6/7]

template<class RingDom>
Rep & axmy ( Rep & r,
const Ring_E & a,
const Rep & x,
const Ring_E & y ) const
inline

◆ axmy() [7/7]

template<class RingDom>
Rep & axmy ( Rep & r,
const Rep & a,
const Ring_E & x,
const Ring_E & y ) const
inline

◆ pow()

template<class RingDom>
Rep & pow ( Rep & W,
const Rep & P,
long n ) const
inline

◆ random() [1/2]

template<class RingDom>
template<class RandIter>
Rep & random ( RandIter & g,
Rep & r ) const
inline

◆ random() [2/2]

template<class RingDom>
template<class RandIter, class XXX>
Rep & random ( RandIter & g,
Rep & r,
const XXX & s ) const
inline

◆ nonzerorandom() [1/2]

template<class RingDom>
template<class RandIter>
Rep & nonzerorandom ( RandIter & g,
Rep & r ) const
inline

◆ nonzerorandom() [2/2]

template<class RingDom>
template<class RandIter, class XXX>
Rep & nonzerorandom ( RandIter & g,
Rep & r,
const XXX & s ) const
inline

Field Documentation

◆ zero

template<class RingDom>
const Rep zero

◆ one

template<class RingDom>
const Rep one

◆ mOne

template<class RingDom>
const Rep mOne

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