My Project  debian-1:4.1.1-p2+ds-4build2
Data Structures | Macros | Typedefs | Functions
Poly.h File Reference
#include "kernel/mod2.h"
#include "IIntvec.h"
#include "coeffs/numbers.h"
#include "Number.h"
#include "kernel/polys.h"
#include "polys/monomials/ring.h"
#include <boost/shared_ptr.hpp>
#include <vector>
#include <exception>

Go to the source code of this file.

Data Structures

class  DifferentDomainException
 
class  ExceptionBasedErrorHandler
 
class  TrivialErrorHandler
 
class  PolyImpl
 
class  ConstTermReference< T >
 
class  PolyInputIterator< T >
 
class  PolyBase< variant, create_type_input, error_handle_traits >
 
class  Poly
 
class  Vector
 

Macros

#define BOOST_DISABLE_THREADS
 

Typedefs

typedef TrivialErrorHandler MyErrorHandler
 

Functions

PolyImpl operator+ (const PolyImpl &p1, const PolyImpl &p2)
 
PolyImpl operator* (const PolyImpl &p1, const PolyImpl &p2)
 
PolyImpl operator- (const PolyImpl &p1, const PolyImpl &p2)
 
PolyImpl operator+ (const PolyImpl &p1, int p2)
 
PolyImpl operator* (const PolyImpl &p1, int p2)
 
PolyImpl operator- (const PolyImpl &p1, int p2)
 
PolyImpl operator+ (int p1, const PolyImpl &p2)
 
PolyImpl operator* (int p1, const PolyImpl &p2)
 
Poly operator* (const Poly &p, const Poly &p2)
 
Vector operator* (const Number &n, const Vector &v)
 
template<poly_variant variant, class create_type , class error_traits >
PolyBase< variant, create_type, error_traits >::create_type operator* (const Number &n, const PolyBase< variant, create_type, class error_tratis > &p)
 
Vector operator* (const Poly &p, const Vector &v)
 
Poly operator+ (const Poly &p1, const Number &n)
 
bool operator== (const Poly &p1, const Poly &p2)
 
bool operator== (const Vector &p1, const Vector &p2)
 
template<poly_variant variant, class create_type , class error_traits >
PolyBase< variant, create_type, error_traits >::create_type operator+ (const PolyBase< variant, create_type, error_traits > &b1, const PolyBase< variant, create_type, error_traits > &b2)
 
Vector unitVector (int i, ring r=currRing)
 
Poly operator* (const Number &n, const Poly &p)
 

Macro Definition Documentation

◆ BOOST_DISABLE_THREADS

#define BOOST_DISABLE_THREADS

Definition at line 17 of file Poly.h.

Typedef Documentation

◆ MyErrorHandler

Definition at line 43 of file Poly.h.

Function Documentation

◆ operator*() [1/8]

Poly operator* ( const Number n,
const Poly p 
)
inline

Definition at line 635 of file Poly.h.

635  {
636  Poly res=p;
637  res*=n;
638  return res;
639 }

◆ operator*() [2/8]

template<poly_variant variant, class create_type , class error_traits >
PolyBase<variant,create_type, error_traits>::create_type operator* ( const Number n,
const PolyBase< variant, create_type, class error_tratis > &  p 
)
inline

Definition at line 590 of file Poly.h.

592 {
594  erg*=n;
595  return erg;
596 }

◆ operator*() [3/8]

Vector operator* ( const Number n,
const Vector v 
)
inline

Definition at line 580 of file Poly.h.

580  {
581  Vector res=v;
582  res*=n;
583  return res;
584 }

◆ operator*() [4/8]

Poly operator* ( const Poly p,
const Poly p2 
)
inline

Definition at line 575 of file Poly.h.

575  {
576  Poly erg=p;
577  erg*=p2;
578  return erg;
579 }

◆ operator*() [5/8]

Vector operator* ( const Poly p,
const Vector v 
)
inline

Definition at line 598 of file Poly.h.

598  {
599  Vector res(v);
600  res*=p;
601  return res;
602 }

◆ operator*() [6/8]

PolyImpl operator* ( const PolyImpl p1,
const PolyImpl p2 
)
inline

Definition at line 219 of file Poly.h.

220 {
221  PolyImpl erg(p1);
222  erg*=p2;
223  return erg;
224 }

◆ operator*() [7/8]

PolyImpl operator* ( const PolyImpl p1,
int  p2 
)
inline

Definition at line 237 of file Poly.h.

238 {
239  PolyImpl erg(p1);
240  erg*=PolyImpl(p2,p1.r.get());
241  return erg;
242 }

◆ operator*() [8/8]

PolyImpl operator* ( int  p1,
const PolyImpl p2 
)
inline

Definition at line 254 of file Poly.h.

255 {
256  PolyImpl erg(p2);
257  return erg*=PolyImpl(p1,p2.getRing());
258 }

◆ operator+() [1/5]

Poly operator+ ( const Poly p1,
const Number n 
)
inline

Definition at line 603 of file Poly.h.

603  {
604  Poly f(p1);
605  f+=n;
606  return f;
607  }

◆ operator+() [2/5]

template<poly_variant variant, class create_type , class error_traits >
PolyBase<variant,create_type,error_traits>::create_type operator+ ( const PolyBase< variant, create_type, error_traits > &  b1,
const PolyBase< variant, create_type, error_traits > &  b2 
)
inline

Definition at line 623 of file Poly.h.

625 {
627  erg+=b2;
628  return erg;
629 }

◆ operator+() [3/5]

PolyImpl operator+ ( const PolyImpl p1,
const PolyImpl p2 
)
inline

Definition at line 213 of file Poly.h.

214 {
215  PolyImpl erg(p1);
216  erg+=p2;
217  return erg;
218 }

◆ operator+() [4/5]

PolyImpl operator+ ( const PolyImpl p1,
int  p2 
)
inline

Definition at line 231 of file Poly.h.

232 {
233  PolyImpl erg(p1);
234  erg+=PolyImpl(p2,p1.r.get());
235  return erg;
236 }

◆ operator+() [5/5]

PolyImpl operator+ ( int  p1,
const PolyImpl p2 
)
inline

Definition at line 249 of file Poly.h.

250 {
251  PolyImpl erg(p2);
252  return erg+=PolyImpl(p1,p2.getRing());
253 }

◆ operator-() [1/2]

PolyImpl operator- ( const PolyImpl p1,
const PolyImpl p2 
)
inline

Definition at line 225 of file Poly.h.

226 {
227  PolyImpl erg(p1);
228  erg-=p2;
229  return erg;
230 }

◆ operator-() [2/2]

PolyImpl operator- ( const PolyImpl p1,
int  p2 
)
inline

Definition at line 243 of file Poly.h.

244 {
245  PolyImpl erg(p1);
246  erg-=PolyImpl(p2,p1.r);
247  return erg;
248 }

◆ operator==() [1/2]

bool operator== ( const Poly p1,
const Poly p2 
)
inline

Definition at line 608 of file Poly.h.

608  {
609  ring r1=p1.getRing();
610  ring r2=p2.getRing();
611  if (r1!=r2) return false;
612  return p_EqualPolys(p1.ptr->p,p2.ptr->p,r1);
613 }

◆ operator==() [2/2]

bool operator== ( const Vector p1,
const Vector p2 
)
inline

Definition at line 614 of file Poly.h.

614  {
615  ring r1=p1.getRing();
616  ring r2=p2.getRing();
617  if (r1!=r2) return false;
618  return p_EqualPolys(p1.ptr->p,p2.ptr->p,r1);
619 }

◆ unitVector()

Vector unitVector ( int  i,
ring  r = currRing 
)
inline

Definition at line 630 of file Poly.h.

630  {
631  poly p=p_ISet(1,r);
632  p_SetComp(p,i,r);
633  return Vector(p,r,0);
634 }
f
FILE * f
Definition: checklibs.c:9
Poly
Definition: janet.h:14
PolyImpl::getRing
ring getRing() const
Definition: Poly.h:59
PolyBase::create_type
create_type_input create_type
Definition: Poly.h:350
i
int i
Definition: cfEzgcd.cc:125
res
CanonicalForm res
Definition: facAbsFact.cc:64
PolyImpl
Definition: Poly.h:44
PolyBase::getRing
ring getRing() const
Definition: Poly.h:427
p_EqualPolys
BOOLEAN p_EqualPolys(poly p1, poly p2, const ring r)
Definition: p_polys.cc:4396
p_SetComp
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
Definition: p_polys.h:247
v
const Variable & v
< [in] a sqrfree bivariate poly
Definition: facBivar.h:37
p
int p
Definition: cfModGcd.cc:4019
PolyImpl::r
intrusive_ptr< ip_sring > r
Definition: Poly.h:210
p_ISet
poly p_ISet(long i, const ring r)
returns the poly representing the integer i
Definition: p_polys.cc:1289
Vector
Definition: Poly.h:509
PolyBase::ptr
shared_ptr< PolyImpl > ptr
Definition: Poly.h:451