Givaro
Public Types | Public Member Functions | Data Fields | Protected Types | Protected Member Functions | Protected Attributes
Poly1PadicDom< Domain, Dense > Class Template Reference

Poly1 p-adic. More...

#include <givpoly1padic.h>

+ Inheritance diagram for Poly1PadicDom< Domain, Dense >:
+ Collaboration diagram for Poly1PadicDom< Domain, Dense >:

Public Types

typedef Poly_t::Element Element
typedef Poly_t::Element pol_Element
typedef IntegerDom::Element int_Element
typedef Domain Domain_t
typedef Domain::Element Type_t
typedef Poly1Dom< Domain, Dense > Self_t
typedef givvector< Type_t > Storage_t
typedef const Storage_t constRep

Public Member Functions

 Poly1PadicDom (Domain &d, const Indeter &X)
 Poly1PadicDom (const Poly_t &P)
 Poly1PadicDom (const Poly_t &P, const IntegerDom &D)
std::ostream & write (std::ostream &o, const pol_Element &p)
template<class vect >
IntegerDom::Element & eval (IntegerDom::Element &E, const vect &P)
template<class vect >
unsigned long & eval (unsigned long &E, const vect &P)
template<class unsignedinttype , class vect >
unsignedinttype & eval (unsignedinttype &E, const vect &P)
template<class elem , class vect >
elem & evaldirect (elem &E, const vect &P)
template<class vect >
vect & radix (vect &P, const IntegerDom::Element &E, long n=0)
template<class vect >
vect & fastradixdirect (vect &P, const double &E, unsigned long n)
template<class vect , class TT >
vect & radixdirect (vect &P, const TT &E, unsigned long n)
template<class vect >
vect & radixdirect (vect &P, const double &E, unsigned long n)
Type_t characteristic () const
Integer & characteristic (Integer &p) const
int operator== (const Poly1Dom< Domain, Dense > &BC) const
int operator!= (const Poly1Dom< Domain, Dense > &BC) const
const Indeter & getIndeter () const
Indeter & setIndeter (const Indeter &X)
const Domain & subdomain () const
const Domain & getdomain () const
Domain & setdomain (const Domain &D)
const Domain & subDomain () const
const Domain & getDomain () const
Domain & setDomain (const Domain &D)
Rep & init (Rep &a) const
template<class XXX >
Rep & init (Rep &p, const XXX &cste) const
Rep & init (Rep &r, const Degree deg) const
template<class XXX >
Rep & init (Rep &p, const Degree deg, const XXX &lcoeff) const
Rep & assign (Rep &p, const Degree deg, const Type_t &lcoeff) const
Rep & assign (Rep &p, const Type_t &cste) const
Rep & assign (Rep &p, const Rep &q) const
Type_t & convert (Type_t &, const Rep &) const
template<class XXX >
XXX & convert (XXX &p, const Rep &) const
template<class UU , template< class XX > class Vect>
Vect< UU > & convert (Vect< UU > &, const Rep &P) const
template<class Domain >
Poly1Dom< Domain, Dense >::Type_t & convert (typename Poly1Dom< Domain, Dense >::Type_t &Val, const typename Poly1Dom< Domain, Dense >::Rep &P) const
template<class XXX >
XXX & convert (XXX &Val, const typename Poly1Dom< Domain, Dense >::Rep &P) const
template<class UU , template< class XX > class Vect>
Vect< UU > & convert (Vect< UU > &Val, const typename Poly1Dom< Domain, Dense >::Rep &P) const
int isZero (const Rep &P) const
int isOne (const Rep &P) const
int areEqual (const Rep &P, const Rep &Q) const
int areNEqual (const Rep &P, const Rep &Q) const
Type_t & leadcoef (Type_t &c, const Rep &P) const
Type_t & getEntry (Type_t &c, const Degree &i, const Rep &P) const
Type_t setEntry (Rep &P, const Type_t &c, const Degree &i) const
Degree & degree (Degree &d, const Rep &P) const
Degree degree (const Rep &P) const
Degree & val (Degree &d, const Rep &P) const
Rep & setdegree (Rep &P) const
 Compute the degree of P.
Rep & setDegree (Rep &P) const
Type_t & eval (Type_t &pval, const Rep &P, const Type_t &val) const
Rep & diff (Rep &P, const Rep &Q) const
Rep & reverse (Rep &, const Rep &) const
Rep & reversein (Rep &) const
std::istream & read (std::istream &i)
std::istream & read (std::istream &i, Rep &n) const
std::ostream & write (std::ostream &o) const
std::ostream & write (std::ostream &o, const Rep &n) const
Rep & addin (Rep &res, const Rep &u) const
Rep & addin (Rep &res, const Type_t &val) const
Rep & add (Rep &res, const Rep &u, const Rep &v) const
Rep & add (Rep &res, const Rep &u, const Type_t &val) const
Rep & add (Rep &res, const Type_t &val, const Rep &v) const
Rep & subin (Rep &res, const Rep &u) const
Rep & subin (Rep &res, const Type_t &val) const
Rep & sub (Rep &res, const Rep &u, const Rep &v) const
Rep & sub (Rep &res, const Rep &u, const Type_t &val) const
Rep & sub (Rep &res, const Type_t &val, const Rep &v) const
Rep & negin (Rep &res) const
Rep & neg (Rep &res, const Rep &u) const
Rep & mulin (Rep &q, const Rep &a) const
Rep & mulin (Rep &q, const Type_t &a) const
Rep & mul (Rep &q, const Type_t &a, const Rep &b) const
Rep & mul (Rep &q, const Rep &a, const Type_t &b) const
Rep & mul (Rep &q, const Rep &a, const Rep &b) const
Rep & mul (Rep &, const Rep &, const Rep &, const Degree &, const Degree &) const
Rep & stdmul (Rep &R, const Rep &P, const Rep &Q) const
Rep & karamul (Rep &R, const Rep &P, const Rep &Q) const
Rep & sqr (Rep &q, const Rep &a) const
Rep & shiftin (Rep &, int) const
Rep & shift (Rep &, const Rep &, int) const
Rep & divin (Rep &q, const Rep &a) const
Rep & divin (Rep &q, const Type_t &a) const
Rep & div (Rep &q, const Rep &a, const Rep &b) const
Rep & div (Rep &q, const Type_t &a, const Rep &b) const
Rep & div (Rep &q, const Rep &a, const Type_t &b) const
Rep & modin (Rep &q, const Rep &a) const
Rep & modin (Rep &q, const Type_t &a) const
Rep & mod (Rep &q, const Rep &a, const Rep &b) const
Rep & mod (Rep &q, const Type_t &a, const Rep &b) const
Rep & mod (Rep &q, const Rep &a, const Type_t &b) const
Rep & axpy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
Rep & axpy (Rep &r, const Type_t &a, const Rep &x, const Rep &y) const
Rep & axpyin (Rep &r, const Rep &a, const Rep &x) const
Rep & axpyin (Rep &r, const Type_t &a, const Rep &x) const
Rep & maxpy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const
Rep & maxpy (Rep &r, const Type_t &a, const Rep &b, const Rep &c) const
Rep & maxpyin (Rep &r, const Rep &a, const Rep &b) const
Rep & maxpyin (Rep &r, const Type_t &a, const Rep &b) const
Rep & axmy (Rep &r, const Rep &a, const Rep &x, const Rep &y) const
Rep & axmy (Rep &r, const Type_t &a, const Rep &x, const Rep &y) const
Rep & axmyin (Rep &r, const Rep &a, const Rep &x) const
Rep & axmyin (Rep &r, const Type_t &a, const Rep &x) const
Rep & divmod (Rep &q, Rep &r, const Rep &a, const Rep &b) const
Rep & divmodin (Rep &q, Rep &r, const Rep &b) const
Rep & pdivmod (Rep &q, Rep &r, Type_t &m, const Rep &a, const Rep &b) const
Rep & pmod (Rep &r, Type_t &m, const Rep &a, const Rep &b) const
Rep & pmod (Rep &r, const Rep &a, const Rep &b) const
Rep & pdiv (Rep &q, Type_t &m, const Rep &a, const Rep &b) const
Rep & pdiv (Rep &q, const Rep &a, const Rep &b) const
Rep & gcd (Rep &D, const Rep &P, const Rep &Q) const
Rep & gcd (Rep &D, Rep &U, Rep &V, const Rep &P, const Rep &Q) const
Rep & lcm (Rep &D, const Rep &P, const Rep &Q) const
Rep & invmod (Rep &U, const Rep &P, const Rep &Q) const
Rep & invmodunit (Rep &U, const Rep &P, const Rep &Q) const
void ratrecon (Rep &N, Rep &D, const Rep &P, const Rep &M, const Degree &dk) const
bool ratreconcheck (Rep &N, Rep &D, const Rep &P, const Rep &M, const Degree &dk) const
Rep & pow (Rep &W, const Rep &P, long n) const
Rep & powmod (Rep &W, const Rep &P, IntegerDom::Element pwr, const Rep &U) const
template<class MyInt >
Rep & powmod (Rep &W, const Rep &P, MyInt pwr, const Rep &U) const
Rep & power_compose (Rep &W, const Rep &P, long b) const
Rep & cyclotomic (Rep &P, long n) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r, long s) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r, Degree s) const
Rep & random (GivRandom &g, Rep &r, Degree s) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r, const Rep &b) const
template<class RandIter >
Poly1Dom< Domain, Dense >::Rep & random (RandIter &g, typename Poly1Dom< Domain, Dense >::Rep &r, Degree d) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r, long s) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r, Degree s) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r, const Rep &b) const
size_t & sqrfree (size_t &Nfact, Rep *Fact, const Rep &P) const
 Sqrfree decomposition.
int operator== (const IntegerDom &) const
int operator!= (const IntegerDom &) const
Rep & init (Rep &a) const
Rep & init (Rep &a, const Rep &b) const
Rep & read (Rep &a, const long i) const
Rep & read (Rep &a, const unsigned long i) const
Rep & read (Rep &a, const int i) const
Rep & read (Rep &a, const unsigned int i) const
std::istream & read (std::istream &i)
std::istream & read (std::istream &i, Rep &n) const
Rep & convert (Rep &a, const Rep &b) const
template<class XXX >
XXX & convert (XXX &x, const Rep &a) const
Rep & assign (Rep &a, const Rep &b) const
const Rep & access (const Rep &a) const
Rep & mul (Rep &r, const Rep &a, const Rep &b) const
Rep & div (Rep &r, const Rep &a, const Rep &b) const
Rep & mod (Rep &r, const Rep &a, const Rep &b) const
Rep & add (Rep &r, const Rep &a, const Rep &b) const
Rep & sub (Rep &r, const Rep &a, const Rep &b) const
Rep & divmod (Rep &q, Rep &r, const Rep &a, const Rep &b) const
Rep & divexact (Rep &q, const Rep &a, const Rep &b) const
Rep & mulin (Rep &r, const Rep &a) const
Rep & divin (Rep &r, const Rep &a) const
Rep & modin (Rep &r, const Rep &a) const
Rep & addin (Rep &r, const Rep &a) const
Rep & subin (Rep &r, const Rep &a) const
Rep & axpy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const
Rep & maxpy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const
Rep & maxpyin (Rep &r, const Rep &a, const Rep &b) const
Rep & axmy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const
Rep & axpyin (Rep &r, const Rep &a, const Rep &b) const
Rep & axmyin (Rep &r, const Rep &a, const Rep &b) const
Rep & neg (Rep &r, const Rep &a) const
Rep & negin (Rep &r) const
Rep & gcd (Rep &g, Rep &u, Rep &v, const Rep &a, const Rep &b) const
Rep & gcd (Rep &g, const Rep &a, const Rep &b) const
Rep & lcm (Rep &l, const Rep &a, const Rep &b) const
Rep & lcmin (Rep &l, const Rep &a) const
Rep & inv (Rep &u, const Rep &a, const Rep &b) const
Rep & invin (Rep &u, const Rep &b) const
Rep & pow (Rep &r, const Rep &n, const long l) const
Rep & pow (Rep &r, const Rep &n, const unsigned long l) const
Rep & pow (Rep &r, const Rep &n, const int l) const
Rep & pow (Rep &r, const Rep &n, const unsigned int l) const
Rep & sqrt (Rep &s, const Rep &n) const
Rep & sqrt (Rep &s, Rep &r, const Rep &n) const
long logp (const Rep &a, const Rep &p) const
Rep & powmod (Rep &r, const Rep &n, const long e, const Rep &m) const
Rep & powmod (Rep &r, const Rep &n, const Rep &e, const Rep &m) const
unsigned long length (const Rep &a) const
int sign (const Rep &a) const
bool isZero (const Rep &a) const
bool isOne (const Rep &a) const
bool areEqual (const Rep &a, const Rep &b) const
bool areNEqual (const Rep &a, const Rep &b) const
bool isgeq (const Rep &a, const Rep &b) const
bool isgeq (const long b, const Rep &a) const
bool isgeq (const Rep &a, const long b) const
bool isleq (const Rep &a, const Rep &b) const
bool isleq (const long b, const Rep &a) const
bool isleq (const Rep &a, const long b) const
bool isgt (const Rep &a, const Rep &b) const
bool isgt (const long b, const Rep &a) const
bool isgt (const Rep &a, const long b) const
bool islt (const Rep &a, const Rep &b) const
bool islt (const long b, const Rep &a) const
bool islt (const Rep &a, const long b) const
template<class RandIter >
Rep & random (RandIter &, Rep &r, long s=1) const
template<class RandIter >
Rep & random (RandIter &, Rep &r, const Rep &b) const
template<class RandIter >
Rep & nonzerorandom (RandIter &, Rep &r, long s=1) const
template<class RandIter >
Rep & nonzerorandom (RandIter &, Rep &r, const Rep &b) const
std::ostream & write (std::ostream &o) const
std::ostream & write (std::ostream &o, const Rep &n) const

Data Fields

Rep zero
Rep one
Rep mOne
const Integer one
const Integer mOne
const Integer zero

Protected Types

typedef Rep::iterator RepIterator
typedef Rep::const_iterator RepConstIterator

Protected Member Functions

Rep & subin (Rep &R, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend) const
Rep & subin (Rep &R, const RepIterator Rbeg, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend) const
Rep & subin (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend) const
Rep & mul (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Rep &Q, const RepConstIterator Qbeg, const RepConstIterator Qend) const
Rep & stdmul (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Rep &Q, const RepConstIterator Qbeg, const RepConstIterator Qend) const
Rep & karamul (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Rep &Q, const RepConstIterator Qbeg, const RepConstIterator Qend) const
Rep & sqr (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend) const
Rep & stdsqr (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Type_t &two) const
Rep & sqrrec (Rep &R, const RepIterator Rbeg, const RepIterator Rend, const Rep &P, const RepConstIterator Pbeg, const RepConstIterator Pend, const Type_t &two) const

Protected Attributes

Domain _domain
Indeter _x

Detailed Description

template<class Domain>
class Givaro::Poly1PadicDom< Domain, Dense >

Poly1 p-adic.


Member Typedef Documentation

Reimplemented from IntegerDom.

typedef Domain Domain_t
inherited
typedef Domain::Element Type_t
inherited
typedef Poly1Dom<Domain,Dense> Self_t
inherited
typedef givvector<Type_t> Storage_t
inherited
typedef const Storage_t constRep
inherited
typedef Rep::iterator RepIterator
protectedinherited
typedef Rep::const_iterator RepConstIterator
protectedinherited

Constructor & Destructor Documentation

Poly1PadicDom ( Domain &  d,
const Indeter &  X 
)
inline
Poly1PadicDom ( const Poly_t &  P)
inline
Poly1PadicDom ( const Poly_t &  P,
const IntegerDom &  D 
)
inline

Member Function Documentation

std::ostream& write ( std::ostream &  o,
const pol_Element &  p 
)
inline
IntegerDom::Element& eval ( IntegerDom::Element &  E,
const vect &  P 
)
inline
unsigned long& eval ( unsigned long &  E,
const vect &  P 
)
inline
unsignedinttype& eval ( unsignedinttype &  E,
const vect &  P 
)
inline
elem& evaldirect ( elem &  E,
const vect &  P 
)
inline
vect& radix ( vect &  P,
const IntegerDom::Element &  E,
long  n = 0 
)
inline
vect& fastradixdirect ( vect &  P,
const double &  E,
unsigned long  n 
)
inline
vect& radixdirect ( vect &  P,
const TT &  E,
unsigned long  n 
)
inline
vect& radixdirect ( vect &  P,
const double &  E,
unsigned long  n 
)
inline
Type_t characteristic ( ) const
inlineinherited
Integer& characteristic ( Integer &  p) const
inlineinherited
int operator== ( const Poly1Dom< Domain, Dense > &  BC) const
inlineinherited
int operator!= ( const Poly1Dom< Domain, Dense > &  BC) const
inlineinherited
const Indeter& getIndeter ( ) const
inlineinherited
Indeter& setIndeter ( const Indeter &  X)
inlineinherited
const Domain& subdomain ( ) const
inlineinherited
const Domain& getdomain ( ) const
inlineinherited
Domain& setdomain ( const Domain &  D)
inlineinherited
const Domain& subDomain ( ) const
inlineinherited
const Domain& getDomain ( ) const
inlineinherited
Domain& setDomain ( const Domain &  D)
inlineinherited
Poly1Dom< Domain, Dense >::Rep & init ( Rep &  a) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & init ( Rep &  p,
const XXX &  cste 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & init ( Rep &  r,
const Degree  deg 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & init ( Rep &  p,
const Degree  deg,
const XXX &  lcoeff 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & assign ( Rep &  p,
const Degree  deg,
const Type_t &  lcoeff 
) const
inlineinherited
Rep& assign ( Rep &  p,
const Type_t &  cste 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & assign ( Rep &  p,
const Rep &  q 
) const
inlineinherited
Type_t& convert ( Type_t &  ,
const Rep &   
) const
inherited
XXX& convert ( XXX &  p,
const Rep &   
) const
inherited

Reimplemented in TruncDom< Domain >.

Vect<UU>& convert ( Vect< UU > &  ,
const Rep &  P 
) const
inherited
Poly1Dom<Domain,Dense>::Type_t& convert ( typename Poly1Dom< Domain, Dense >::Type_t &  Val,
const typename Poly1Dom< Domain, Dense >::Rep &  P 
) const
inlineinherited
XXX& convert ( XXX &  Val,
const typename Poly1Dom< Domain, Dense >::Rep &  P 
) const
inlineinherited
Vect<UU>& convert ( Vect< UU > &  Val,
const typename Poly1Dom< Domain, Dense >::Rep &  P 
) const
inlineinherited
int isZero ( const Rep &  P) const
inlineinherited

Reimplemented in TruncDom< Domain >.

int isOne ( const Rep &  P) const
inlineinherited

Reimplemented in TruncDom< Domain >.

int areEqual ( const Rep &  P,
const Rep &  Q 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

int areNEqual ( const Rep &  P,
const Rep &  Q 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom< Domain, Dense >::Type_t & leadcoef ( Type_t &  c,
const Rep &  P 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Type_t & getEntry ( Type_t &  c,
const Degree &  i,
const Rep &  P 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Type_t setEntry ( Rep &  P,
const Type_t &  c,
const Degree &  i 
) const
inlineinherited
Degree & degree ( Degree &  d,
const Rep &  P 
) const
inlineinherited
Degree degree ( const Rep &  P) const
inlineinherited
Degree & val ( Degree &  d,
const Rep &  P 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & setdegree ( Rep &  P) const
inlineinherited

Compute the degree of P.

Warning:
this is an infamous function that may not leave P constant !!
Parameters:
Ppolynomial

Reimplemented in TruncDom< Domain >.

Rep& setDegree ( Rep &  P) const
inlineinherited
Poly1Dom< Domain, Dense >::Type_t & eval ( Type_t &  pval,
const Rep &  P,
const Type_t &  val 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & diff ( Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & reverse ( Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & reversein ( Rep &  P) const
inlineinherited
std::istream & read ( std::istream &  i)
inherited

Reimplemented in TruncDom< Domain >.

std::istream & read ( std::istream &  i,
Rep &  n 
) const
inherited
std::ostream & write ( std::ostream &  o) const
inherited
std::ostream & write ( std::ostream &  o,
const Rep &  n 
) const
inherited
Poly1Dom< Domain, Dense >::Rep & addin ( Rep &  res,
const Rep &  u 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & addin ( Rep &  res,
const Type_t &  val 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & add ( Rep &  res,
const Rep &  u,
const Rep &  v 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & add ( Rep &  res,
const Rep &  u,
const Type_t &  val 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & add ( Rep &  res,
const Type_t &  val,
const Rep &  v 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & subin ( Rep &  res,
const Rep &  u 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & subin ( Rep &  res,
const Type_t &  val 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & subin ( Rep &  R,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & subin ( Rep &  R,
const RepIterator  Rbeg,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & subin ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & sub ( Rep &  res,
const Rep &  u,
const Rep &  v 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & sub ( Rep &  res,
const Rep &  u,
const Type_t &  val 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & sub ( Rep &  res,
const Type_t &  val,
const Rep &  v 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & negin ( Rep &  res) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & neg ( Rep &  res,
const Rep &  u 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & mulin ( Rep &  q,
const Rep &  a 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mulin ( Rep &  q,
const Type_t &  a 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mul ( Rep &  q,
const Type_t &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mul ( Rep &  q,
const Rep &  a,
const Type_t &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mul ( Rep &  q,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mul ( Rep &  R,
const Rep &  P,
const Rep &  Q,
const Degree &  Val,
const Degree &  deg 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mul ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Rep &  Q,
const RepConstIterator  Qbeg,
const RepConstIterator  Qend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & stdmul ( Rep &  R,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & stdmul ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Rep &  Q,
const RepConstIterator  Qbeg,
const RepConstIterator  Qend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & karamul ( Rep &  R,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & karamul ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Rep &  Q,
const RepConstIterator  Qbeg,
const RepConstIterator  Qend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & sqr ( Rep &  q,
const Rep &  a 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & sqr ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & shiftin ( Rep &  R,
int  s 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & shift ( Rep &  R,
const Rep &  a,
int  s 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & divin ( Rep &  q,
const Rep &  a 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & divin ( Rep &  q,
const Type_t &  a 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & div ( Rep &  q,
const Rep &  a,
const Rep &  b 
) const
inlineinherited

Reimplemented in FixedTruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & div ( Rep &  q,
const Type_t &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & div ( Rep &  q,
const Rep &  a,
const Type_t &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & modin ( Rep &  q,
const Rep &  a 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & modin ( Rep &  q,
const Type_t &  a 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mod ( Rep &  q,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mod ( Rep &  q,
const Type_t &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & mod ( Rep &  q,
const Rep &  a,
const Type_t &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & axpy ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Rep &  y 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & axpy ( Rep &  r,
const Type_t &  a,
const Rep &  x,
const Rep &  y 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & axpyin ( Rep &  r,
const Rep &  a,
const Rep &  x 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & axpyin ( Rep &  r,
const Type_t &  a,
const Rep &  x 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & maxpy ( Rep &  r,
const Rep &  a,
const Rep &  b,
const Rep &  c 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & maxpy ( Rep &  r,
const Type_t &  a,
const Rep &  b,
const Rep &  c 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & maxpyin ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & maxpyin ( Rep &  r,
const Type_t &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & axmy ( Rep &  r,
const Rep &  a,
const Rep &  x,
const Rep &  y 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & axmy ( Rep &  r,
const Type_t &  a,
const Rep &  x,
const Rep &  y 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & axmyin ( Rep &  r,
const Rep &  a,
const Rep &  x 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & axmyin ( Rep &  r,
const Type_t &  a,
const Rep &  x 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & divmod ( Rep &  q,
Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & divmodin ( Rep &  q,
Rep &  r,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & pdivmod ( Rep &  q,
Rep &  r,
Type_t &  m,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & pmod ( Rep &  r,
Type_t &  m,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& pmod ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inherited
Rep& pdiv ( Rep &  q,
Type_t &  m,
const Rep &  a,
const Rep &  b 
) const
inherited
Rep& pdiv ( Rep &  q,
const Rep &  a,
const Rep &  b 
) const
inherited
Poly1Dom< Domain, Dense >::Rep & gcd ( Rep &  D,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & gcd ( Rep &  D,
Rep &  U,
Rep &  V,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & lcm ( Rep &  D,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & invmod ( Rep &  U,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & invmodunit ( Rep &  U,
const Rep &  P,
const Rep &  Q 
) const
inlineinherited
void ratrecon ( Rep &  N,
Rep &  D,
const Rep &  P,
const Rep &  M,
const Degree &  dk 
) const
inherited
bool ratreconcheck ( Rep &  N,
Rep &  D,
const Rep &  P,
const Rep &  M,
const Degree &  dk 
) const
inherited
Poly1Dom< Domain, Dense >::Rep & pow ( Rep &  W,
const Rep &  P,
long  n 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & powmod ( Rep &  W,
const Rep &  P,
IntegerDom::Element  pwr,
const Rep &  U 
) const
inlineinherited
Rep& powmod ( Rep &  W,
const Rep &  P,
MyInt  pwr,
const Rep &  U 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & power_compose ( Rep &  W,
const Rep &  P,
long  b 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & cyclotomic ( Rep &  P,
long  n 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & random ( RandIter &  g,
Rep &  r 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & random ( RandIter &  g,
Rep &  r,
long  s 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Rep& random ( RandIter &  g,
Rep &  r,
Degree  s 
) const
inherited
Poly1Dom< Domain, Dense >::Rep & random ( GivRandom &  g,
Rep &  r,
Degree  s 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & random ( RandIter &  g,
Rep &  r,
const Rep &  b 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom<Domain,Dense>::Rep& random ( RandIter &  g,
typename Poly1Dom< Domain, Dense >::Rep &  r,
Degree  d 
) const
inlineinherited
Poly1Dom< Domain, Dense >::Rep & nonzerorandom ( RandIter &  g,
Rep &  r 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & nonzerorandom ( RandIter &  g,
Rep &  r,
long  s 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & nonzerorandom ( RandIter &  g,
Rep &  r,
Degree  s 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

Poly1Dom< Domain, Dense >::Rep & nonzerorandom ( RandIter &  g,
Rep &  r,
const Rep &  b 
) const
inlineinherited

Reimplemented in TruncDom< Domain >.

size_t & sqrfree ( size_t &  Nfact,
Rep *  Fact,
const Rep &  P 
) const
inherited

Sqrfree decomposition.

Decompose P such that: P = Fact[0]^0 * Fact[1]^1 * ... * Fact[P.degree()]^(P.degree()), with Fact[0] the leading coefficient. The array Fact must be allocated before calling the function. The size of Fact must be degP+1 is all factors should be computed. For more readeable version of the algorithm, see Geddes, p342.

Parameters:
Nfact[in] the size of Fact
Fact[in] an array of dimension Nfact
Nfact[out] is the number of factor in the sqrfree decomposition
Fact[out] contains at most Nfact factors of the decomposition.
Prep.
Poly1Dom< Domain, Dense >::Rep & stdsqr ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Type_t &  two 
) const
inlineprotectedinherited
Poly1Dom< Domain, Dense >::Rep & sqrrec ( Rep &  R,
const RepIterator  Rbeg,
const RepIterator  Rend,
const Rep &  P,
const RepConstIterator  Pbeg,
const RepConstIterator  Pend,
const Type_t &  two 
) const
inlineprotectedinherited
int operator== ( const IntegerDom &  ) const
inlineinherited
int operator!= ( const IntegerDom &  ) const
inlineinherited
Rep& init ( Rep &  a) const
inlineinherited
Rep& init ( Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& read ( Rep &  a,
const long  i 
) const
inlineinherited
Rep& read ( Rep &  a,
const unsigned long  i 
) const
inlineinherited
Rep& read ( Rep &  a,
const int  i 
) const
inlineinherited
Rep& read ( Rep &  a,
const unsigned int  i 
) const
inlineinherited
std::istream& read ( std::istream &  i)
inlineinherited
std::istream& read ( std::istream &  i,
Rep &  n 
) const
inlineinherited
Rep& convert ( Rep &  a,
const Rep &  b 
) const
inlineinherited
XXX& convert ( XXX &  x,
const Rep &  a 
) const
inlineinherited
Rep& assign ( Rep &  a,
const Rep &  b 
) const
inlineinherited
const Rep& access ( const Rep &  a) const
inlineinherited
Rep& mul ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& div ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& mod ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& add ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& sub ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& divmod ( Rep &  q,
Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& divexact ( Rep &  q,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& mulin ( Rep &  r,
const Rep &  a 
) const
inlineinherited
Rep& divin ( Rep &  r,
const Rep &  a 
) const
inlineinherited
Rep& modin ( Rep &  r,
const Rep &  a 
) const
inlineinherited
Rep& addin ( Rep &  r,
const Rep &  a 
) const
inlineinherited
Rep& subin ( Rep &  r,
const Rep &  a 
) const
inlineinherited
Rep& axpy ( Rep &  r,
const Rep &  a,
const Rep &  b,
const Rep &  c 
) const
inlineinherited
Rep& maxpy ( Rep &  r,
const Rep &  a,
const Rep &  b,
const Rep &  c 
) const
inlineinherited
Rep& maxpyin ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& axmy ( Rep &  r,
const Rep &  a,
const Rep &  b,
const Rep &  c 
) const
inlineinherited
Rep& axpyin ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& axmyin ( Rep &  r,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& neg ( Rep &  r,
const Rep &  a 
) const
inlineinherited
Rep& negin ( Rep &  r) const
inlineinherited
Rep& gcd ( Rep &  g,
Rep &  u,
Rep &  v,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& gcd ( Rep &  g,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& lcm ( Rep &  l,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& lcmin ( Rep &  l,
const Rep &  a 
) const
inlineinherited
Rep& inv ( Rep &  u,
const Rep &  a,
const Rep &  b 
) const
inlineinherited
Rep& invin ( Rep &  u,
const Rep &  b 
) const
inlineinherited
Rep& pow ( Rep &  r,
const Rep &  n,
const long  l 
) const
inlineinherited
Rep& pow ( Rep &  r,
const Rep &  n,
const unsigned long  l 
) const
inlineinherited
Rep& pow ( Rep &  r,
const Rep &  n,
const int  l 
) const
inlineinherited
Rep& pow ( Rep &  r,
const Rep &  n,
const unsigned int  l 
) const
inlineinherited
Rep& sqrt ( Rep &  s,
const Rep &  n 
) const
inlineinherited
Rep& sqrt ( Rep &  s,
Rep &  r,
const Rep &  n 
) const
inlineinherited
long logp ( const Rep &  a,
const Rep &  p 
) const
inlineinherited
Rep& powmod ( Rep &  r,
const Rep &  n,
const long  e,
const Rep &  m 
) const
inlineinherited
Rep& powmod ( Rep &  r,
const Rep &  n,
const Rep &  e,
const Rep &  m 
) const
inlineinherited
unsigned long length ( const Rep &  a) const
inlineinherited
int sign ( const Rep &  a) const
inlineinherited
bool isZero ( const Rep &  a) const
inlineinherited
bool isOne ( const Rep &  a) const
inlineinherited
bool areEqual ( const Rep &  a,
const Rep &  b 
) const
inlineinherited
bool areNEqual ( const Rep &  a,
const Rep &  b 
) const
inlineinherited
bool isgeq ( const Rep &  a,
const Rep &  b 
) const
inlineinherited
bool isgeq ( const long  b,
const Rep &  a 
) const
inlineinherited
bool isgeq ( const Rep &  a,
const long  b 
) const
inlineinherited
bool isleq ( const Rep &  a,
const Rep &  b 
) const
inlineinherited
bool isleq ( const long  b,
const Rep &  a 
) const
inlineinherited
bool isleq ( const Rep &  a,
const long  b 
) const
inlineinherited
bool isgt ( const Rep &  a,
const Rep &  b 
) const
inlineinherited
bool isgt ( const long  b,
const Rep &  a 
) const
inlineinherited
bool isgt ( const Rep &  a,
const long  b 
) const
inlineinherited
bool islt ( const Rep &  a,
const Rep &  b 
) const
inlineinherited
bool islt ( const long  b,
const Rep &  a 
) const
inlineinherited
bool islt ( const Rep &  a,
const long  b 
) const
inlineinherited
Rep& random ( RandIter &  ,
Rep &  r,
long  s = 1 
) const
inlineinherited
Rep& random ( RandIter &  ,
Rep &  r,
const Rep &  b 
) const
inlineinherited
Rep& nonzerorandom ( RandIter &  ,
Rep &  r,
long  s = 1 
) const
inlineinherited
Rep& nonzerorandom ( RandIter &  ,
Rep &  r,
const Rep &  b 
) const
inlineinherited
std::ostream& write ( std::ostream &  o) const
inlineinherited
std::ostream& write ( std::ostream &  o,
const Rep &  n 
) const
inlineinherited

Field Documentation

Domain _domain
protectedinherited
Indeter _x
protectedinherited
Rep zero
inherited

Reimplemented in TruncDom< Domain >.

Rep one
inherited

Reimplemented in TruncDom< Domain >.

Rep mOne
inherited

Reimplemented in TruncDom< Domain >.

const Integer one
inherited
const Integer mOne
inherited
const Integer zero
inherited

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