Changeset 82f499 in git for kernel/Poly.h
- Timestamp:
- Aug 17, 2005, 12:12:11 PM (19 years ago)
- Branches:
- (u'spielwiese', '2a584933abf2a2d3082034c7586d38bb6de1a30a')
- Children:
- bd78fe5e2fedb6e73b477dc7f5f60ec3cb150e4b
- Parents:
- c1e4cd403513c2cfaac94cde3319fe5d54a930de
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/Poly.h
rc1e4cd r82f499 1 //$Id: Poly.h,v 1.1 3 2005-08-17 09:42:15bricken Exp $1 //$Id: Poly.h,v 1.14 2005-08-17 10:12:11 bricken Exp $ 2 2 3 3 … … 26 26 class PolyImpl{ 27 27 friend class PolyBase<POLY_VARIANT_RING,Poly>; 28 friend class PolyBase<POLY_VARIANT_MODUL,Vector>; 28 29 //friend class PolyBase<POLY_VARIANT_MODUL>; 29 30 friend class Poly; 31 friend class Vector; 30 32 //friend class Number; 31 33 protected: … … 477 479 478 480 }; 481 class Vector: public PolyBase<POLY_VARIANT_MODUL, Vector>{ 482 483 public: 484 485 Vector(ring r=currRing):PolyBase<POLY_VARIANT_MODUL, Vector> ((poly)NULL,r,0){ 486 } 487 Vector(int n, ring r=currRing):PolyBase<POLY_VARIANT_MODUL, Vector>(*(new PolyImpl(n,r))){ 488 489 } 490 Vector(const char* c, ring r=currRing):PolyBase<POLY_VARIANT_MODUL, Vector>(c,r){ 491 492 } 493 Vector(const PolyBase<POLY_VARIANT_MODUL, Vector>& p):PolyBase<POLY_VARIANT_MODUL, Vector>(p){ 494 } 495 496 Vector(const Number& n):PolyBase<POLY_VARIANT_MODUL, Vector>(*(new PolyImpl(n))){ 497 498 } 499 Vector(poly p, ring r):PolyBase<POLY_VARIANT_MODUL, Vector>(p,r){ 500 501 } 502 Vector(poly p, ring r, int):PolyBase<POLY_VARIANT_MODUL, Vector>(p,r,0){ 503 } 504 Vector(std::vector<int> v, ring r=currRing):PolyBase<POLY_VARIANT_MODUL, Vector>(*(new PolyImpl((poly) NULL,r))){ 505 unsigned int i; 506 int s=v.size(); 507 poly p=p_ISet(1,r); 508 for(i=0;i<v.size();i++){ 509 pSetExp(p,i+1,v[i]); 510 } 511 pSetm(p); 512 ptr.reset(new PolyImpl(p,r)); 513 } 514 /* Poly& operator+=(const Number& n){ 515 Poly p2(n); 516 ((PolyBase<POLY_VARIANT_MODUL, Poly>&) (*this))+=p2; 517 return *this; 518 }*/ 519 Vector& operator+=(const Vector& p ){ 520 521 ((PolyBase<POLY_VARIANT_MODUL, Vector>&)*this)+=p; 522 return *this; 523 } 524 Vector& operator+=(const PolyBase<POLY_VARIANT_MODUL, Vector>& p ){ 525 526 ((PolyBase<POLY_VARIANT_MODUL, Vector>&)*this)+=p; 527 return *this; 528 } 529 530 }; 479 531 480 532 //typedef Poly PolyBase<POLY_VARIANT_RING>::create_type; … … 500 552 } 501 553 502 Poly operator+(const Poly& p1, const Poly& p2){503 504 f+= p2;554 Poly operator+(const Poly& p1, const Number& n){ 555 Poly f(p1); 556 f+=n; 505 557 return f; 558 } 559 template <poly_variant variant, class create_type> 560 typename PolyBase<variant,create_type>::create_type 561 operator+ 562 (const PolyBase<variant,create_type>& b1, 563 const PolyBase<variant,create_type>& b2) 564 { 565 typename PolyBase<variant, create_type>::create_type erg(b1); 566 erg+=b2; 567 return erg; 506 568 } 507 569
Note: See TracChangeset
for help on using the changeset viewer.