Givaro 4.2.1
TruncDom< Domain > Class Template Reference

#include <givtruncdomain.h>

+ Inheritance diagram for TruncDom< Domain >:

Public Types

typedef TruncDom< DomainSelf_t
 
typedef Poly1Dom< Domain, DenseFather_t
 
typedef Domain Domain_t
 
typedef Domain::Element Type_t
 
typedef Father_t::Storage_t Polynomial_t
 
typedef std::pair< Polynomial_t, DegreeStorage_t
 
typedef Storage_t Rep
 
typedef Storage_t Element
 

Public Member Functions

 TruncDom (const Domain &d, const Indeter &X=Indeter())
 
 TruncDom (const Self_t &t)
 
 TruncDom (const Father_t &t)
 
const Father_tgetpoldomain () const
 
Repinit (Rep &p) const
 
template<class XXX>
Repinit (Rep &p, const XXX &cste) const
 
template<class XXX>
Repinit (Rep &p, const Degree deg, const XXX &lcoeff) const
 
Polynomial_tconvert (Polynomial_t &r, const Rep &P) const
 
template<class XXX>
XXX & convert (XXX &r, const Rep &P) const
 
Repassign (Rep &p, const Degree deg, const Type_t &lcoeff) const
 
Repassign (Rep &p, const Type_t &cste) const
 
Repassign (Rep &p, const Rep &q) const
 
Repassign (Rep &p, const Polynomial_t &r) const
 
Repassign (Rep &p, const Polynomial_t &r, const Degree v, const Degree d) const
 
Repmulin (Rep &p, const Degree &s) const
 
Repdivin (Rep &p, const Degree &s) const
 
Repsetdegree (Rep &P) const
 
Repsetval (Rep &P) const
 
Degreedegree (Degree &d, const Rep &P) const
 
Degreeval (Degree &d, const Rep &P) 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
 
Repshift (Rep &p, const Degree &s) const
 
Reptruncin (Rep &p, const Degree &v, const Degree &d) const
 
Reptrunc (Rep &p, const Rep &R, const Degree &v, const Degree &d) 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
 
Repexpand (Rep &P, const Degree &d) const
 
Repaddin (Rep &R, const Rep &P) const
 
Repadd (Rep &res, const Rep &u, const Rep &v) const
 
Repaddin (Rep &R, const Rep &P, const Degree &v, const Degree &d) const
 
Repadd (Rep &res, const Rep &u, const Rep &v, const Degree &Val, const Degree &deg) const
 
Repneg (Rep &R, const Rep &P) const
 
Repnegin (Rep &R) const
 
Repsub (Rep &res, const Rep &u, const Rep &v) const
 
Repsubin (Rep &R, const Rep &P) const
 
Repsub (Rep &R, const Rep &P, const Rep &Q, const Degree &v, const Degree &d) const
 
Repsubin (Rep &R, const Rep &P, const Degree &v, const Degree &d) const
 
Repmul (Rep &res, const Rep &u, const Rep &v) const
 
Repmulin (Rep &P, const Rep &Q) const
 
Repmul (Rep &r, const Rep &u, const Rep &v, const Degree &Val, const Degree &deg) const
 
Repmulin (Rep &r, const Rep &v, const Degree &Val, const Degree &deg) const
 
Repaxpy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
 
Repaxpyin (Rep &r, const Rep &a, const Rep &x) const
 
Repaxpy (Rep &r, const Rep &a, const Rep &x, const Rep &y, const Degree &Val, const Degree &deg) const
 
Repaxpyin (Rep &r, const Rep &a, const Rep &x, const Degree &Val, const Degree &deg) const
 
Repaxmy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
 
Repaxmyin (Rep &r, const Rep &a, const Rep &x) const
 
Repaxmy (Rep &r, const Rep &a, const Rep &x, const Rep &y, const Degree &Val, const Degree &deg) const
 
Repaxmyin (Rep &r, const Rep &a, const Rep &x, const Degree &Val, const Degree &deg) const
 
Repmaxpy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
 
Repmaxpyin (Rep &r, const Rep &a, const Rep &x) const
 
Repmaxpy (Rep &r, const Rep &a, const Rep &x, const Rep &y, const Degree &Val, const Degree &deg) const
 
Repmaxpyin (Rep &r, const Rep &a, const Rep &x, const Degree &Val, const Degree &deg) const
 
template<class RandIter>
Reprandom (RandIter &g, Rep &r) const
 
template<class RandIter>
Reprandom (RandIter &g, Rep &r, long s) const
 
template<class RandIter>
Reprandom (RandIter &g, Rep &r, Degree s) const
 
Reprandom (GivRandom &g, Rep &r, Degree s) const
 
template<class RandIter>
Reprandom (RandIter &g, Rep &r, const Rep &b) const
 
template<class RandIter>
Repnonzerorandom (RandIter &g, Rep &r) const
 
template<class RandIter>
Repnonzerorandom (RandIter &g, Rep &r, long s) const
 
template<class RandIter>
Repnonzerorandom (RandIter &g, Rep &r, Degree s) const
 
template<class RandIter>
Repnonzerorandom (RandIter &g, Rep &r, const Rep &b) const
 

Data Fields

Storage_t zero
 
Storage_t one
 
Storage_t mOne
 

Detailed Description

template<class Domain>
class Givaro::TruncDom< Domain >
Examples
examples/Polynomial/trunc_arith.C.

Member Typedef Documentation

◆ Self_t

template<class Domain>
typedef TruncDom<Domain> Self_t

◆ Father_t

template<class Domain>
typedef Poly1Dom<Domain,Dense> Father_t

◆ Domain_t

template<class Domain>
typedef Domain Domain_t

◆ Type_t

template<class Domain>
typedef Domain::Element Type_t

◆ Polynomial_t

template<class Domain>
typedef Father_t::Storage_t Polynomial_t

◆ Storage_t

template<class Domain>
typedef std::pair<Polynomial_t, Degree> Storage_t

◆ Rep

template<class Domain>
typedef Storage_t Rep

◆ Element

template<class Domain>
typedef Storage_t Element

Constructor & Destructor Documentation

◆ TruncDom() [1/3]

template<class Domain>
TruncDom ( const Domain & d,
const Indeter & X = Indeter() )
inline

◆ TruncDom() [2/3]

template<class Domain>
TruncDom ( const Self_t & t)
inline

◆ TruncDom() [3/3]

template<class Domain>
TruncDom ( const Father_t & t)
inline

Member Function Documentation

◆ getpoldomain()

template<class Domain>
const Father_t & getpoldomain ( ) const
inline

◆ init() [1/3]

template<class Domain>
Rep & init ( Rep & p) const
inline

◆ init() [2/3]

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

◆ init() [3/3]

template<class Domain>
template<class XXX>
Rep & init ( Rep & p,
const Degree deg,
const XXX & lcoeff ) const
inline

◆ convert() [1/2]

template<class Domain>
Polynomial_t & convert ( Polynomial_t & r,
const Rep & P ) const
inline

◆ convert() [2/2]

template<class Domain>
template<class XXX>
XXX & convert ( XXX & r,
const Rep & P ) const
inline

◆ assign() [1/5]

template<class Domain>
Rep & assign ( Rep & p,
const Degree deg,
const Type_t & lcoeff ) const
inline

◆ assign() [2/5]

template<class Domain>
Rep & assign ( Rep & p,
const Type_t & cste ) const
inline

◆ assign() [3/5]

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

◆ assign() [4/5]

template<class Domain>
Rep & assign ( Rep & p,
const Polynomial_t & r ) const
inline

◆ assign() [5/5]

template<class Domain>
Rep & assign ( Rep & p,
const Polynomial_t & r,
const Degree v,
const Degree d ) const
inline

◆ mulin() [1/3]

template<class Domain>
Rep & mulin ( Rep & p,
const Degree & s ) const
inline

◆ divin()

template<class Domain>
Rep & divin ( Rep & p,
const Degree & s ) const
inline

◆ setdegree()

template<class Domain>
Rep & setdegree ( Rep & P) const
inline

◆ setval()

template<class Domain>
Rep & setval ( Rep & P) const
inline

◆ degree()

template<class Domain>
Degree & degree ( Degree & d,
const Rep & P ) const
inline

◆ val()

template<class Domain>
Degree & val ( Degree & d,
const Rep & P ) const
inline

◆ isZero()

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

◆ isOne()

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

◆ isMOne()

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

◆ areEqual()

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

◆ areNEqual()

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

◆ shift()

template<class Domain>
Rep & shift ( Rep & p,
const Degree & s ) const

◆ truncin()

template<class Domain>
TruncDom< Domain >::Rep & truncin ( Rep & p,
const Degree & v,
const Degree & d ) const
inline

◆ trunc()

template<class Domain>
Rep & trunc ( Rep & p,
const Rep & R,
const Degree & v,
const Degree & d ) const
inline

◆ read() [1/2]

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

◆ write() [1/2]

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

◆ read() [2/2]

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

◆ write() [2/2]

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

◆ expand()

template<class Domain>
Rep & expand ( Rep & P,
const Degree & d ) const
inline

◆ addin() [1/2]

template<class Domain>
TruncDom< Domain >::Rep & addin ( Rep & R,
const Rep & P ) const
inline

◆ add() [1/2]

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

◆ addin() [2/2]

template<class Domain>
TruncDom< Domain >::Rep & addin ( Rep & R,
const Rep & P,
const Degree & v,
const Degree & d ) const
inline

◆ add() [2/2]

template<class Domain>
Rep & add ( Rep & res,
const Rep & u,
const Rep & v,
const Degree & Val,
const Degree & deg ) const
inline

◆ neg()

template<class Domain>
Rep & neg ( Rep & R,
const Rep & P ) const
inline

◆ negin()

template<class Domain>
Rep & negin ( Rep & R) const
inline

◆ sub() [1/2]

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

◆ subin() [1/2]

template<class Domain>
TruncDom< Domain >::Rep & subin ( Rep & R,
const Rep & P ) const
inline

◆ sub() [2/2]

template<class Domain>
Rep & sub ( Rep & R,
const Rep & P,
const Rep & Q,
const Degree & v,
const Degree & d ) const
inline

◆ subin() [2/2]

template<class Domain>
Rep & subin ( Rep & R,
const Rep & P,
const Degree & v,
const Degree & d ) const
inline

◆ mul() [1/2]

template<class Domain>
Rep & mul ( Rep & res,
const Rep & u,
const Rep & v ) const
inline

◆ mulin() [2/3]

template<class Domain>
Rep & mulin ( Rep & P,
const Rep & Q ) const
inline

◆ mul() [2/2]

template<class Domain>
TruncDom< Domain >::Rep & mul ( Rep & r,
const Rep & u,
const Rep & v,
const Degree & Val,
const Degree & deg ) const
inline

◆ mulin() [3/3]

template<class Domain>
Rep & mulin ( Rep & r,
const Rep & v,
const Degree & Val,
const Degree & deg ) const
inline

◆ axpy() [1/2]

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

◆ axpyin() [1/2]

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

◆ axpy() [2/2]

template<class Domain>
Rep & axpy ( Rep & r,
const Rep & a,
const Rep & x,
const Rep & y,
const Degree & Val,
const Degree & deg ) const
inline

◆ axpyin() [2/2]

template<class Domain>
Rep & axpyin ( Rep & r,
const Rep & a,
const Rep & x,
const Degree & Val,
const Degree & deg ) const
inline

◆ axmy() [1/2]

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

◆ axmyin() [1/2]

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

◆ axmy() [2/2]

template<class Domain>
Rep & axmy ( Rep & r,
const Rep & a,
const Rep & x,
const Rep & y,
const Degree & Val,
const Degree & deg ) const
inline

◆ axmyin() [2/2]

template<class Domain>
Rep & axmyin ( Rep & r,
const Rep & a,
const Rep & x,
const Degree & Val,
const Degree & deg ) const
inline

◆ maxpy() [1/2]

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

◆ maxpyin() [1/2]

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

◆ maxpy() [2/2]

template<class Domain>
Rep & maxpy ( Rep & r,
const Rep & a,
const Rep & x,
const Rep & y,
const Degree & Val,
const Degree & deg ) const
inline

◆ maxpyin() [2/2]

template<class Domain>
Rep & maxpyin ( Rep & r,
const Rep & a,
const Rep & x,
const Degree & Val,
const Degree & deg ) const
inline

◆ random() [1/5]

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

◆ random() [2/5]

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

◆ random() [3/5]

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

◆ random() [4/5]

template<class Domain>
Rep & random ( GivRandom & g,
Rep & r,
Degree s ) const
inline

◆ random() [5/5]

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

◆ nonzerorandom() [1/4]

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

◆ nonzerorandom() [2/4]

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

◆ nonzerorandom() [3/4]

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

◆ nonzerorandom() [4/4]

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

Field Documentation

◆ zero

template<class Domain>
Storage_t zero

◆ one

template<class Domain>
Storage_t one

◆ mOne

template<class Domain>
Storage_t mOne

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