My Project
Loading...
Searching...
No Matches
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
 
class  exception
 STL class. More...
 

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:4086
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}

◆ 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:4621

◆ 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:1298
static unsigned long p_SetComp(poly p, unsigned long c, ring r)
Definition p_polys.h:249