Public Member Functions | Data Fields | Private Types | Friends
Poly Class Reference

#include <janet.h>

Public Member Functions

 Poly (ring r=currRing)
 
 Poly (int n, ring r=currRing)
 
 Poly (const char *c, ring r=currRing)
 
 Poly (const Base &p)
 
 Poly (const Number &n)
 
 Poly (poly p, ring r)
 
 Poly (poly p, ring r, int)
 
 Poly (const std::vector< int > &v, ring r=currRing)
 
Polyoperator+= (const Poly &p)
 
Polyoperator+= (const Base &p)
 
- Public Member Functions inherited from PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler >
poly as_poly () const
 
void checkIsSameRing (T &p)
 
Intvec leadExp ()
 
void copy_on_write ()
 
void print () const
 
char * c_string () const
 
 PolyBase (ring r=currRing)
 
 PolyBase (const char *c, ring r=currRing)
 
 PolyBase (const PolyBase &p)
 
 PolyBase (poly p, ring r)
 
 PolyBase (poly p, ring r, int)
 
PolyBaseoperator+= (const PolyBase &p2)
 
PolyBaseoperator*= (const Poly &p2)
 
PolyBaseoperator*= (Number n)
 
virtual ~PolyBase ()
 
PolyInputIterator< create_typebegin ()
 
PolyInputIterator< create_typeend ()
 
ring getRing () const
 
int lmTotalDegree () const
 
Number leadCoef ()
 
create_type operator- ()
 

Data Fields

poly root
 
kBucket_pt root_b
 
int root_l
 
poly history
 
poly lead
 
char * mult
 
int changed
 
int prolonged
 

Private Types

typedef PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandlerBase
 

Friends

class Vector
 
class PolyBase< POLY_VARIANT_MODUL, Vector, MyErrorHandler >
 
bool operator== (const Poly &p1, const Poly &p2)
 

Additional Inherited Members

- Public Types inherited from PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler >
typedef Poly create_type
 
typedef PolyInputIterator< create_typeiterator
 
- Protected Member Functions inherited from PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler >
 PolyBase (PolyImpl &impl)
 
poly getInternalReference ()
 
- Protected Attributes inherited from PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler >
shared_ptr< PolyImplptr
 

Detailed Description

Definition at line 14 of file janet.h.

Member Typedef Documentation

◆ Base

Definition at line 457 of file Poly.h.

Constructor & Destructor Documentation

◆ Poly() [1/8]

Poly::Poly ( ring  r = currRing)
inline

Definition at line 462 of file Poly.h.

462  :Base ((poly)NULL,r,0){
463  }
#define NULL
Definition: omList.c:10
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457

◆ Poly() [2/8]

Poly::Poly ( int  n,
ring  r = currRing 
)
inline

Definition at line 464 of file Poly.h.

464  :Base(*(new PolyImpl(n,r))){
465 
466  }
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457
Definition: Poly.h:44

◆ Poly() [3/8]

Poly::Poly ( const char *  c,
ring  r = currRing 
)
inline

Definition at line 467 of file Poly.h.

467  :Base(c,r){
468 
469  }
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457

◆ Poly() [4/8]

Poly::Poly ( const Base p)
inline

Definition at line 470 of file Poly.h.

470  :Base(p){
471  }
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457
int p
Definition: cfModGcd.cc:4019

◆ Poly() [5/8]

Poly::Poly ( const Number n)
inline

Definition at line 473 of file Poly.h.

473  :Base(*(new PolyImpl(n))){
474 
475  }
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457
Definition: Poly.h:44

◆ Poly() [6/8]

Poly::Poly ( poly  p,
ring  r 
)
inline

Definition at line 476 of file Poly.h.

476  :Base(p,r){
477 
478  }
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457
int p
Definition: cfModGcd.cc:4019

◆ Poly() [7/8]

Poly::Poly ( poly  p,
ring  r,
int   
)
inline

Definition at line 479 of file Poly.h.

479  :Base(p,r,0){
480  }
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457
int p
Definition: cfModGcd.cc:4019

◆ Poly() [8/8]

Poly::Poly ( const std::vector< int > &  v,
ring  r = currRing 
)
inline

Definition at line 481 of file Poly.h.

481  :Base(*(new PolyImpl((poly) NULL,r))){
482  unsigned int i;
483  int s=v.size();
484  poly p=p_ISet(1,r);
485  for(i=0;i<v.size();i++){
486  pSetExp(p,i+1,v[i]);
487  }
488  pSetm(p);
489  ptr.reset(new PolyImpl(p,r));
490  }
const CanonicalForm int s
Definition: facAbsFact.cc:55
#define pSetm(p)
Definition: polys.h:257
#define pSetExp(p, i, v)
Definition: polys.h:42
int i
Definition: cfEzgcd.cc:125
#define NULL
Definition: omList.c:10
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457
int p
Definition: cfModGcd.cc:4019
poly p_ISet(long i, const ring r)
returns the poly representing the integer i
Definition: p_polys.cc:1289
Definition: Poly.h:44

Member Function Documentation

◆ operator+=() [1/2]

Poly& Poly::operator+= ( const Poly p)
inline

Definition at line 496 of file Poly.h.

496  {
497 
498  ((Base&)*this)+=p;
499  return *this;
500  }
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457
int p
Definition: cfModGcd.cc:4019

◆ operator+=() [2/2]

Poly& Poly::operator+= ( const Base p)
inline

Definition at line 501 of file Poly.h.

501  {
502 
503  ((Base&)*this)+=p;
504  return *this;
505  }
PolyBase< POLY_VARIANT_RING, Poly, MyErrorHandler > Base
Definition: Poly.h:457
int p
Definition: cfModGcd.cc:4019

Friends And Related Function Documentation

◆ operator==

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

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

◆ PolyBase< POLY_VARIANT_MODUL, Vector, MyErrorHandler >

Definition at line 459 of file Poly.h.

◆ Vector

friend class Vector
friend

Definition at line 458 of file Poly.h.

Field Documentation

◆ changed

int Poly::changed

Definition at line 22 of file janet.h.

◆ history

poly Poly::history

Definition at line 19 of file janet.h.

◆ lead

poly Poly::lead

Definition at line 20 of file janet.h.

◆ mult

char* Poly::mult

Definition at line 21 of file janet.h.

◆ prolonged

int Poly::prolonged

Definition at line 23 of file janet.h.

◆ root

poly Poly::root

Definition at line 16 of file janet.h.

◆ root_b

kBucket_pt Poly::root_b

Definition at line 17 of file janet.h.

◆ root_l

int Poly::root_l

Definition at line 18 of file janet.h.


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