My Project
Loading...
Searching...
No Matches
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}
int p
Definition: cfModGcd.cc:4078
CanonicalForm res
Definition: facAbsFact.cc:60
Definition: janet.h:15

◆ 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 589 of file Poly.h.

592{
594 erg*=n;
595 return erg;
596}
create_type_input create_type
Definition: Poly.h:350

◆ 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}
Definition: Poly.h:509
const Variable & v
< [in] a sqrfree bivariate poly
Definition: facBivar.h:39

◆ 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}
Definition: Poly.h:45

◆ 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}
intrusive_ptr< ip_sring > r
Definition: Poly.h:210

◆ 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}
ring getRing() const
Definition: Poly.h:59

◆ 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 }
FILE * f
Definition: checklibs.c:9

◆ 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 622 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}
ring getRing() const
Definition: Poly.h:427
shared_ptr< PolyImpl > ptr
Definition: Poly.h:451
BOOLEAN p_EqualPolys(poly p1, poly p2, const ring r)
Definition: p_polys.cc:4512

◆ 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}
int i
Definition: cfEzgcd.cc:132
poly p_ISet(long i, const ring r)
returns the poly representing the integer i
Definition: p_polys.cc:1297
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
Definition: p_polys.h:245