Public Member Functions | Data Fields
sLObject Class Reference

#include <kutil.h>

Public Member Functions

KINLINE void Init (ring tailRing=currRing)
 
KINLINE sLObject (ring tailRing=currRing)
 
KINLINE sLObject (poly p, ring tailRing=currRing)
 
KINLINE sLObject (poly p, ring c_r, ring tailRing)
 
KINLINE void Delete ()
 
KINLINE void Clear ()
 
KINLINE void LmDeleteAndIter ()
 
KINLINE poly LmExtractAndIter ()
 
KINLINE void PrepareRed (BOOLEAN use_bucket)
 
KINLINE void SetLmTail (poly lm, poly new_p, int length, int use_bucket, ring r)
 
KINLINE void Tail_Minus_mm_Mult_qq (poly m, poly qq, int lq, poly spNoether)
 
KINLINE void Tail_Mult_nn (number n)
 
KINLINE poly GetP (omBin lmBin=NULL)
 
KINLINE poly GetTP ()
 
KINLINE poly CanonicalizeP ()
 
KINLINE void Copy ()
 
KINLINE poly CopyGetP ()
 
KINLINE int GetpLength ()
 
KINLINE long pLDeg (BOOLEAN use_last)
 
KINLINE long pLDeg ()
 
KINLINE int SetLength (BOOLEAN lengt_pLength=FALSE)
 
KINLINE long SetDegStuffReturnLDeg ()
 
KINLINE long SetDegStuffReturnLDeg (BOOLEAN use_last)
 
KINLINE long MinComp ()
 
KINLINE long Comp ()
 
KINLINE void ShallowCopyDelete (ring new_tailRing, pShallowCopyDeleteProc p_shallow_copy_delete)
 
KINLINE void SetShortExpVector ()
 
KINLINE sLObjectoperator= (const sTObject &)
 
KINLINE TObjectT_1 (const skStrategy *strat)
 
KINLINE TObjectT_2 (const skStrategy *strat)
 
KINLINE void T_1_2 (const skStrategy *strat, TObject *&T_1, TObject *&T_2)
 
KINLINE void Normalize ()
 
KINLINE void HeadNormalize ()
 
- Public Member Functions inherited from sTObject
KINLINE void Init (ring r=currRing)
 
KINLINE sTObject (ring tailRing=currRing)
 
KINLINE sTObject (poly p, ring tailRing=currRing)
 
KINLINE sTObject (poly p, ring c_r, ring tailRing)
 
KINLINE sTObject (sTObject *T, int copy)
 
KINLINE void Set (ring r=currRing)
 
KINLINE void Set (poly p_in, ring r=currRing)
 
KINLINE void Set (poly p_in, ring c_r, ring t_r)
 
KINLINE void Delete ()
 
KINLINE void Clear ()
 
KINLINE void Copy ()
 
KINLINE poly GetLmCurrRing ()
 
KINLINE poly GetLmTailRing ()
 
KINLINE poly GetLm (ring r)
 
KINLINE void GetLm (poly &p, ring &r) const
 
KINLINE BOOLEAN IsNull () const
 
KINLINE int GetpLength ()
 
KINLINE void SetLmCurrRing ()
 
KINLINE poly Next ()
 
KINLINE void LmDeleteAndIter ()
 
KINLINE long pTotalDeg () const
 
KINLINE long pFDeg () const
 
KINLINE long SetpFDeg ()
 
KINLINE long GetpFDeg () const
 
KINLINE long pLDeg ()
 
KINLINE long SetDegStuffReturnLDeg ()
 
KINLINE void Mult_nn (number n)
 
KINLINE void ShallowCopyDelete (ring new_tailRing, omBin new_tailBin, pShallowCopyDeleteProc p_shallow_copy_delete, BOOLEAN set_max=TRUE)
 
KINLINE void pNorm ()
 
KINLINE void pCleardenom ()
 

Data Fields

unsigned long sev
 
poly p1
 
poly p2
 
poly lcm
 
kBucket_pt bucket
 
int i_r1
 
int i_r2
 
unsigned checked
 
BOOLEAN prod_crit
 
- Data Fields inherited from sTObject
unsigned long sevSig
 
poly sig
 
poly p
 
poly t_p
 
poly max
 
ring tailRing
 
long FDeg
 
int ecart
 
int length
 
int pLength
 
int i_r
 
BOOLEAN is_normalized
 
BOOLEAN is_redundant
 
BOOLEAN is_sigsafe
 
BOOLEAN is_special
 

Detailed Description

Definition at line 179 of file kutil.h.

Constructor & Destructor Documentation

KINLINE sLObject::sLObject ( ring  tailRing = currRing)

Definition at line 514 of file kInline.h.

515 {
516  Init(r);
517 }
KINLINE void Init(ring tailRing=currRing)
Definition: kInline.h:506
const ring r
Definition: syzextra.cc:208
KINLINE sLObject::sLObject ( poly  p,
ring  tailRing = currRing 
)

Definition at line 518 of file kInline.h.

519 {
520  Init(r);
521  Set(p_in, r);
522 }
KINLINE void Init(ring tailRing=currRing)
Definition: kInline.h:506
KINLINE void Set(ring r=currRing)
Definition: kInline.h:103
const ring r
Definition: syzextra.cc:208
KINLINE sLObject::sLObject ( poly  p,
ring  c_r,
ring  tailRing 
)

Definition at line 524 of file kInline.h.

525 {
526  Init(t_r);
527  Set(p_in, c_r, t_r);
528 }
KINLINE void Init(ring tailRing=currRing)
Definition: kInline.h:506
KINLINE void Set(ring r=currRing)
Definition: kInline.h:103

Member Function Documentation

KINLINE poly sLObject::CanonicalizeP ( )

Definition at line 648 of file kInline.h.

649 {
650  //kTest_L(this);
651  int i = -1;
652 
653  if (bucket != NULL)
655 
656  if (p == NULL)
658 
659  if (i >= 0) pNext(p) = bucket->buckets[i];
660  return p;
661 }
kBucket_pt bucket
Definition: kutil.h:188
KINLINE poly k_LmInit_tailRing_2_currRing(poly p, ring tailRing, omBin lmBin)
Definition: kInline.h:914
poly t_p
Definition: kutil.h:76
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
#define pNext(p)
Definition: monomials.h:43
int kBucketCanonicalize(kBucket_pt bucket)
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75
KINLINE void sLObject::Clear ( )

Definition at line 493 of file kInline.h.

494 {
495  sTObject::Clear();
496  sev = 0;
497 }
KINLINE void Clear()
Definition: kInline.h:189
unsigned long sev
Definition: kutil.h:183
KINLINE long sLObject::Comp ( )

Definition at line 841 of file kInline.h.

842 {
843  poly pp;
844  ring r;
845  GetLm(pp, r);
846  assume(pp != NULL);
847  return p_GetComp(pp, r);
848 }
#define p_GetComp(p, r)
Definition: monomials.h:72
poly pp
Definition: myNF.cc:296
const ring r
Definition: syzextra.cc:208
#define assume(x)
Definition: mod2.h:405
#define NULL
Definition: omList.c:10
KINLINE poly GetLm(ring r)
Definition: kInline.h:237
polyrec * poly
Definition: hilb.h:10
KINLINE void sLObject::Copy ( )

Definition at line 729 of file kInline.h.

730 {
731  if (bucket != NULL)
732  {
734  kBucket_pt new_bucket = kBucketCreate(tailRing);
735  kBucketInit(new_bucket,
736  p_Copy(bucket->buckets[i], tailRing),
737  bucket->buckets_length[i]);
738  bucket = new_bucket;
739  if (t_p != NULL) pNext(t_p) = NULL;
740  if (p != NULL) pNext(p) = NULL;
741  }
742  TObject::Copy();
743 }
static number Copy(number a, const coeffs r)
Definition: flintcf_Q.cc:233
void kBucketInit(kBucket_pt bucket, poly lm, int length)
Definition: kbuckets.cc:471
kBucket_pt bucket
Definition: kutil.h:188
kBucket_pt kBucketCreate(ring bucket_ring)
Creation/Destruction of buckets.
Definition: kbuckets.cc:197
static poly p_Copy(poly p, const ring r)
returns a copy of p
Definition: p_polys.h:811
poly t_p
Definition: kutil.h:76
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
#define pNext(p)
Definition: monomials.h:43
int kBucketCanonicalize(kBucket_pt bucket)
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75
KINLINE poly sLObject::CopyGetP ( )

Definition at line 745 of file kInline.h.

746 {
747  if (bucket != NULL)
748  {
750  poly bp = p_Copy(bucket->buckets[i], tailRing);
751  pLength = bucket->buckets_length[i] + 1;
752  if (bp != NULL)
753  {
754  assume(t_p != NULL || p != NULL);
755  if (t_p != NULL) pNext(t_p) = bp;
756  else pNext(p) = bp;
757  }
758  bucket = NULL;
759  }
760  return sLObject::GetP();
761 }
KINLINE poly GetP(omBin lmBin=NULL)
Definition: kInline.h:679
kBucket_pt bucket
Definition: kutil.h:188
static poly p_Copy(poly p, const ring r)
returns a copy of p
Definition: p_polys.h:811
poly t_p
Definition: kutil.h:76
#define assume(x)
Definition: mod2.h:405
int i
Definition: cfEzgcd.cc:123
int pLength
Definition: kutil.h:80
#define NULL
Definition: omList.c:10
#define pNext(p)
Definition: monomials.h:43
polyrec * poly
Definition: hilb.h:10
int kBucketCanonicalize(kBucket_pt bucket)
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75
KINLINE void sLObject::Delete ( )

Definition at line 499 of file kInline.h.

500 {
502  if (bucket != NULL)
504 }
kBucket_pt bucket
Definition: kutil.h:188
#define NULL
Definition: omList.c:10
void kBucketDeleteAndDestroy(kBucket_pt *bucket_pt)
Definition: kbuckets.cc:211
KINLINE void Delete()
Definition: kInline.h:175
KINLINE poly sLObject::GetP ( omBin  lmBin = NULL)

Definition at line 679 of file kInline.h.

680 {
681  //kTest_L(this);
682  if (p == NULL)
683  {
685  (lmBin!=NULL?lmBin:currRing->PolyBin));
686  FDeg = pFDeg();
687  }
688  else if (lmBin != NULL && lmBin != currRing->PolyBin)
689  {
691  FDeg = pFDeg();
692  }
693 
694  if (bucket != NULL)
695  {
698  pLength++;
699  if (t_p != NULL) pNext(t_p) = pNext(p);
700  }
701  //kTest_L(this);
702  return p;
703 }
void kBucketClear(kBucket_pt bucket, poly *p, int *length)
Definition: kbuckets.cc:499
kBucket_pt bucket
Definition: kutil.h:188
KINLINE poly k_LmInit_tailRing_2_currRing(poly p, ring tailRing, omBin lmBin)
Definition: kInline.h:914
static poly p_LmShallowCopyDelete(poly p, const ring r)
Definition: p_polys.h:1321
poly t_p
Definition: kutil.h:76
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
void kBucketDestroy(kBucket_pt *bucket_pt)
Definition: kbuckets.cc:204
long FDeg
Definition: kutil.h:79
int pLength
Definition: kutil.h:80
#define NULL
Definition: omList.c:10
#define pNext(p)
Definition: monomials.h:43
KINLINE long pFDeg() const
Definition: kInline.h:395
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75
KINLINE int sLObject::GetpLength ( )

Definition at line 809 of file kInline.h.

810 {
811  if (bucket == NULL)
812  return sTObject::GetpLength();
814  return bucket->buckets_length[i] + 1;
815 }
kBucket_pt bucket
Definition: kutil.h:188
KINLINE int GetpLength()
Definition: kInline.h:268
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
int kBucketCanonicalize(kBucket_pt bucket)
KINLINE poly sLObject::GetTP ( )

Definition at line 663 of file kInline.h.

664 {
665  //kTest_L(this);
666  poly tp = GetLmTailRing();
667  assume(tp != NULL);
668 
669  if (bucket != NULL)
670  {
671  kBucketClear(bucket, &pNext(tp), &pLength);
673  pLength++;
674  }
675  return tp;
676 }
void kBucketClear(kBucket_pt bucket, poly *p, int *length)
Definition: kbuckets.cc:499
kBucket_pt bucket
Definition: kutil.h:188
void kBucketDestroy(kBucket_pt *bucket_pt)
Definition: kbuckets.cc:204
#define assume(x)
Definition: mod2.h:405
int pLength
Definition: kutil.h:80
#define NULL
Definition: omList.c:10
KINLINE poly GetLmTailRing()
Definition: kInline.h:224
#define pNext(p)
Definition: monomials.h:43
polyrec * poly
Definition: hilb.h:10
KINLINE void sLObject::HeadNormalize ( )

Definition at line 334 of file kInline.h.

335 {
336  if (t_p != NULL)
337  {
339  if (p != NULL) pSetCoeff0(p, pGetCoeff(t_p));
340  }
341  else
342  {
344  }
345 }
#define nNormalize(n)
Definition: numbers.h:30
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy ...
Definition: monomials.h:51
poly t_p
Definition: kutil.h:76
#define NULL
Definition: omList.c:10
#define pSetCoeff0(p, n)
Definition: monomials.h:67
poly p
Definition: kutil.h:75
KINLINE void sLObject::Init ( ring  tailRing = currRing)

Definition at line 506 of file kInline.h.

507 {
508  memset(this, 0, sizeof(sLObject));
509  i_r1 = -1;
510  i_r2 = -1;
511  i_r = -1;
512  Set(r);
513 }
KINLINE void Set(ring r=currRing)
Definition: kInline.h:103
int i_r1
Definition: kutil.h:189
int i_r
Definition: kutil.h:80
const ring r
Definition: syzextra.cc:208
int i_r2
Definition: kutil.h:189
KINLINE void sLObject::LmDeleteAndIter ( )

Definition at line 602 of file kInline.h.

603 {
605  if (bucket != NULL)
606  {
608  if (_p == NULL)
609  {
611  p = t_p = NULL;
612  return;
613  }
614  Set(_p, tailRing);
615  }
616  else
617  {
618  pLength--;
619  }
620 }
KINLINE void Set(ring r=currRing)
Definition: kInline.h:103
kBucket_pt bucket
Definition: kutil.h:188
poly kBucketExtractLm(kBucket_pt bucket)
Definition: kbuckets.cc:489
KINLINE void LmDeleteAndIter()
Definition: kInline.h:288
poly t_p
Definition: kutil.h:76
void kBucketDestroy(kBucket_pt *bucket_pt)
Definition: kbuckets.cc:204
int pLength
Definition: kutil.h:80
#define NULL
Definition: omList.c:10
polyrec * poly
Definition: hilb.h:10
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75
KINLINE poly sLObject::LmExtractAndIter ( )

Definition at line 622 of file kInline.h.

623 {
624  poly ret = GetLmTailRing();
625  poly pn;
626 
627  assume(p != NULL || t_p != NULL);
628 
629  if (bucket != NULL)
630  {
631  pn = kBucketExtractLm(bucket);
632  if (pn == NULL)
634  }
635  else
636  {
637  pn = pNext(ret);
638  }
639  pLength--;
640  pNext(ret) = NULL;
641  if (p != NULL && t_p != NULL)
642  p_LmFree(p, currRing);
643 
644  Set(pn, tailRing);
645  return ret;
646 }
KINLINE void Set(ring r=currRing)
Definition: kInline.h:103
kBucket_pt bucket
Definition: kutil.h:188
static void p_LmFree(poly p, ring)
Definition: p_polys.h:679
poly kBucketExtractLm(kBucket_pt bucket)
Definition: kbuckets.cc:489
poly t_p
Definition: kutil.h:76
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
void kBucketDestroy(kBucket_pt *bucket_pt)
Definition: kbuckets.cc:204
#define assume(x)
Definition: mod2.h:405
int pLength
Definition: kutil.h:80
#define NULL
Definition: omList.c:10
KINLINE poly GetLmTailRing()
Definition: kInline.h:224
#define pNext(p)
Definition: monomials.h:43
polyrec * poly
Definition: hilb.h:10
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75
KINLINE long sLObject::MinComp ( )

Definition at line 826 of file kInline.h.

827 {
828  poly tp = GetLmTailRing();
829  assume(tp != NULL);
830  if (bucket != NULL)
831  {
833  pNext(tp) = bucket->buckets[i];
834  long m = p_MinComp(tp, tailRing);
835  pNext(tp) = NULL;
836  return m;
837  }
838  else
839  return p_MinComp(tp, tailRing);
840 }
kBucket_pt bucket
Definition: kutil.h:188
#define assume(x)
Definition: mod2.h:405
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
static long p_MinComp(poly p, ring lmRing, ring tailRing)
Definition: p_polys.h:302
#define NULL
Definition: omList.c:10
KINLINE poly GetLmTailRing()
Definition: kInline.h:224
#define pNext(p)
Definition: monomials.h:43
polyrec * poly
Definition: hilb.h:10
int kBucketCanonicalize(kBucket_pt bucket)
ring tailRing
Definition: kutil.h:78
KINLINE void sLObject::Normalize ( )

Definition at line 321 of file kInline.h.

322 {
323  if (t_p != NULL)
324  {
325  pNormalize(t_p);
326  if (p != NULL) pSetCoeff0(p, pGetCoeff(t_p));
327  }
328  else
329  {
330  pNormalize(p);
331  }
332 }
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy ...
Definition: monomials.h:51
poly t_p
Definition: kutil.h:76
pNormalize(P.p)
#define NULL
Definition: omList.c:10
#define pSetCoeff0(p, n)
Definition: monomials.h:67
poly p
Definition: kutil.h:75
KINLINE sLObject & sLObject::operator= ( const sTObject t)

Definition at line 850 of file kInline.h.

851 {
852  memset(this, 0, sizeof(*this));
853  memcpy(this, &t, sizeof(sTObject));
854  return *this;
855 }
Definition: kutil.h:70
KINLINE long sLObject::pLDeg ( BOOLEAN  use_last)

Definition at line 779 of file kInline.h.

780 {
781  if (! deg_last || bucket != NULL) return sLObject::pLDeg();
782 
783  long ldeg;
784  ldeg = tailRing->pLDeg(GetLmTailRing(), &length, tailRing);
785 #ifdef HAVE_ASSUME
786  if ( pLength == 0)
789 #else
790  pLength=length;
791 #endif
792  return ldeg;
793 }
kBucket_pt bucket
Definition: kutil.h:188
static BOOLEAN rIsSyzIndexRing(const ring r)
Definition: ring.h:714
int length
Definition: kutil.h:80
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
KINLINE long pLDeg()
Definition: kInline.h:764
#define assume(x)
Definition: mod2.h:405
int pLength
Definition: kutil.h:80
#define NULL
Definition: omList.c:10
poly p_Last(const poly p, int &l, const ring r)
Definition: p_polys.cc:4398
KINLINE poly GetLmTailRing()
Definition: kInline.h:224
ring tailRing
Definition: kutil.h:78
KINLINE long sLObject::pLDeg ( )

Definition at line 764 of file kInline.h.

765 {
766  poly tp = GetLmTailRing();
767  assume(tp != NULL);
768  if (bucket != NULL)
769  {
771  pNext(tp) = bucket->buckets[i];
772  long ldeg = tailRing->pLDeg(tp, &length, tailRing);
773  pNext(tp) = NULL;
774  return ldeg;
775  }
776  else
777  return tailRing->pLDeg(tp, &length, tailRing);
778 }
kBucket_pt bucket
Definition: kutil.h:188
int length
Definition: kutil.h:80
#define assume(x)
Definition: mod2.h:405
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
KINLINE poly GetLmTailRing()
Definition: kInline.h:224
#define pNext(p)
Definition: monomials.h:43
polyrec * poly
Definition: hilb.h:10
int kBucketCanonicalize(kBucket_pt bucket)
ring tailRing
Definition: kutil.h:78
KINLINE void sLObject::PrepareRed ( BOOLEAN  use_bucket)

Definition at line 530 of file kInline.h.

531 {
532  if (bucket == NULL)
533  {
534  int l = GetpLength();
535  if (use_bucket && (l > 1))
536  {
537  poly tp = GetLmTailRing();
538  assume(l == ::pLength(tp));
540  kBucketInit(bucket, pNext(tp), l-1);
541  pNext(tp) = NULL;
542  if (p != NULL) pNext(p) = NULL;
543  pLength = 0;
544  }
545  }
546 }
KINLINE int GetpLength()
Definition: kInline.h:809
void kBucketInit(kBucket_pt bucket, poly lm, int length)
Definition: kbuckets.cc:471
kBucket_pt bucket
Definition: kutil.h:188
kBucket_pt kBucketCreate(ring bucket_ring)
Creation/Destruction of buckets.
Definition: kbuckets.cc:197
#define assume(x)
Definition: mod2.h:405
int pLength
Definition: kutil.h:80
#define NULL
Definition: omList.c:10
KINLINE poly GetLmTailRing()
Definition: kInline.h:224
#define pNext(p)
Definition: monomials.h:43
polyrec * poly
Definition: hilb.h:10
int l
Definition: cfEzgcd.cc:94
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75
KINLINE long sLObject::SetDegStuffReturnLDeg ( )

Definition at line 795 of file kInline.h.

796 {
797  FDeg = this->pFDeg();
798  long d = this->pLDeg();
799  ecart = d - FDeg;
800  return d;
801 }
KINLINE long pLDeg()
Definition: kInline.h:764
long FDeg
Definition: kutil.h:79
KINLINE long pFDeg() const
Definition: kInline.h:395
int ecart
Definition: kutil.h:80
KINLINE long sLObject::SetDegStuffReturnLDeg ( BOOLEAN  use_last)

Definition at line 802 of file kInline.h.

803 {
804  FDeg = this->pFDeg();
805  long d = this->pLDeg(use_last);
806  ecart = d - FDeg;
807  return d;
808 }
KINLINE long pLDeg()
Definition: kInline.h:764
long FDeg
Definition: kutil.h:79
KINLINE long pFDeg() const
Definition: kInline.h:395
int ecart
Definition: kutil.h:80
KINLINE int sLObject::SetLength ( BOOLEAN  lengt_pLength = FALSE)

Definition at line 816 of file kInline.h.

817 {
818  if (length_pLength)
819  {
820  length = this->GetpLength();
821  }
822  else
823  this->pLDeg();
824  return length;
825 }
KINLINE int GetpLength()
Definition: kInline.h:809
int length
Definition: kutil.h:80
KINLINE long pLDeg()
Definition: kInline.h:764
KINLINE void sLObject::SetLmTail ( poly  lm,
poly  new_p,
int  length,
int  use_bucket,
ring  r 
)

Definition at line 548 of file kInline.h.

549 {
550 
551  Set(lm, _tailRing);
552  if (use_bucket)
553  {
554  bucket = kBucketCreate(_tailRing);
555  kBucketInit(bucket, p_tail, p_Length);
556  pNext(lm) = NULL;
557  pLength = 0;
558  }
559  else
560  {
561  pNext(lm) = p_tail;
562  pLength = p_Length + 1;
563  }
564 }
void kBucketInit(kBucket_pt bucket, poly lm, int length)
Definition: kbuckets.cc:471
KINLINE void Set(ring r=currRing)
Definition: kInline.h:103
kBucket_pt bucket
Definition: kutil.h:188
kBucket_pt kBucketCreate(ring bucket_ring)
Creation/Destruction of buckets.
Definition: kbuckets.cc:197
p_Length
Definition: p_Procs_Impl.h:127
int pLength
Definition: kutil.h:80
#define NULL
Definition: omList.c:10
#define pNext(p)
Definition: monomials.h:43
KINLINE void sLObject::SetShortExpVector ( )

Definition at line 717 of file kInline.h.

718 {
719  if (t_p != NULL)
720  {
722  }
723  else
724  {
726  }
727 }
poly t_p
Definition: kutil.h:76
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
unsigned long p_GetShortExpVector(const poly p, const ring r)
Definition: p_polys.cc:4557
#define NULL
Definition: omList.c:10
unsigned long sev
Definition: kutil.h:183
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75
KINLINE void sLObject::ShallowCopyDelete ( ring  new_tailRing,
pShallowCopyDeleteProc  p_shallow_copy_delete 
)

Definition at line 706 of file kInline.h.

708 {
709  if (bucket != NULL)
710  kBucketShallowCopyDelete(bucket, new_tailRing, new_tailRing->PolyBin,
711  p_shallow_copy_delete);
712  sTObject::ShallowCopyDelete(new_tailRing,
713  new_tailRing->PolyBin,p_shallow_copy_delete,
714  FALSE);
715 }
void kBucketShallowCopyDelete(kBucket_pt bucket, ring new_tailRing, omBin new_tailBin, pShallowCopyDeleteProc p_shallow_copy_delete)
For changing the ring of the Bpoly to new_tailBin.
Definition: kbuckets.cc:513
kBucket_pt bucket
Definition: kutil.h:188
#define FALSE
Definition: auxiliary.h:140
KINLINE void ShallowCopyDelete(ring new_tailRing, omBin new_tailBin, pShallowCopyDeleteProc p_shallow_copy_delete, BOOLEAN set_max=TRUE)
Definition: kInline.h:348
#define NULL
Definition: omList.c:10
KINLINE TObject * sLObject::T_1 ( const skStrategy strat)

Definition at line 857 of file kInline.h.

858 {
859  if (p1 == NULL) return NULL;
860  if (i_r1 == -1) i_r1 = kFindInT(p1, s->T, s->tl);
861  assume(i_r1 >= 0 && i_r1 <= s->tl);
862  TObject* T = s->R[i_r1];
863  assume(T->p == p1);
864  return T;
865 }
const CanonicalForm int s
Definition: facAbsFact.cc:55
int i_r1
Definition: kutil.h:189
int kFindInT(poly p, TSet T, int tlength)
returns index of p in TSet, or -1 if not found
Definition: kutil.cc:617
poly p1
Definition: kutil.h:184
#define assume(x)
Definition: mod2.h:405
#define NULL
Definition: omList.c:10
static jList * T
Definition: janet.cc:37
class sTObject TObject
Definition: kutil.h:59
KINLINE void sLObject::T_1_2 ( const skStrategy strat,
TObject *&  T_1,
TObject *&  T_2 
)

Definition at line 878 of file kInline.h.

880 {
881  if (p1 == NULL)
882  {
883  T_1 = NULL;
884  T_2 = NULL;
885  return;
886  }
887  assume(p1 != NULL && p2 != NULL);
888  if (i_r1 == -1) i_r1 = kFindInT(p1, strat->T, strat->tl);
889  if (i_r2 == -1) i_r2 = kFindInT(p2, strat->T, strat->tl);
890  assume(i_r1 >= 0 && i_r1 <= strat->tl);
891  assume(i_r2 >= 0 && i_r2 <= strat->tl);
892  T_1 = strat->R[i_r1];
893  T_2 = strat->R[i_r2];
894  assume(T_1->p == p1);
895  assume(T_2->p == p2);
896  return;
897 }
int i_r1
Definition: kutil.h:189
int kFindInT(poly p, TSet T, int tlength)
returns index of p in TSet, or -1 if not found
Definition: kutil.cc:617
int tl
Definition: kutil.h:348
poly p1
Definition: kutil.h:184
#define assume(x)
Definition: mod2.h:405
KINLINE TObject * T_2(const skStrategy *strat)
Definition: kInline.h:867
TObject ** R
Definition: kutil.h:338
poly p2
Definition: kutil.h:184
#define NULL
Definition: omList.c:10
TSet T
Definition: kutil.h:322
int i_r2
Definition: kutil.h:189
KINLINE TObject * T_1(const skStrategy *strat)
Definition: kInline.h:857
KINLINE TObject * sLObject::T_2 ( const skStrategy strat)

Definition at line 867 of file kInline.h.

868 {
869  if (p1 == NULL) return NULL;
870  assume(p2 != NULL);
871  if (i_r2 == -1) i_r2 = kFindInT(p2, strat->T, strat->tl);
872  assume(i_r2 >= 0 && i_r2 <= strat->tl);
873  TObject* T = strat->R[i_r2];
874  assume(T->p == p2);
875  return T;
876 }
int kFindInT(poly p, TSet T, int tlength)
returns index of p in TSet, or -1 if not found
Definition: kutil.cc:617
int tl
Definition: kutil.h:348
poly p1
Definition: kutil.h:184
#define assume(x)
Definition: mod2.h:405
TObject ** R
Definition: kutil.h:338
poly p2
Definition: kutil.h:184
#define NULL
Definition: omList.c:10
TSet T
Definition: kutil.h:322
int i_r2
Definition: kutil.h:189
static jList * T
Definition: janet.cc:37
class sTObject TObject
Definition: kutil.h:59
KINLINE void sLObject::Tail_Minus_mm_Mult_qq ( poly  m,
poly  qq,
int  lq,
poly  spNoether 
)

Definition at line 580 of file kInline.h.

582 {
583  if (bucket != NULL)
584  {
585  kBucket_Minus_m_Mult_p(bucket, m, q, &lq, spNoether);
586  }
587  else
588  {
589  if (lq<=0) lq= ::pLength(q);
590  poly _p = (t_p != NULL ? t_p : p);
591  assume(_p != NULL);
592 
593  int lp=pLength-1;
594  pNext(_p) = p_Minus_mm_Mult_qq( pNext(_p), m, q, lp, lq,
595  spNoether, tailRing );
596  pLength=lp+1;
597 // tailRing->p_Procs->p_Minus_mm_Mult_qq(pNext(_p), m, q, shorter,spNoether, tailRing, last);
598 // pLength += lq - shorter;
599  }
600 }
kBucket_pt bucket
Definition: kutil.h:188
poly t_p
Definition: kutil.h:76
#define assume(x)
Definition: mod2.h:405
int m
Definition: cfEzgcd.cc:119
void kBucket_Minus_m_Mult_p(kBucket_pt bucket, poly m, poly p, int *l, poly spNoether)
Bpoly == Bpoly - m*p; where m is a monom Does not destroy p and m assume (*l <= 0 || pLength(p) == *l...
Definition: kbuckets.cc:698
int pLength
Definition: kutil.h:80
#define NULL
Definition: omList.c:10
#define pNext(p)
Definition: monomials.h:43
static poly p_Minus_mm_Mult_qq(poly p, const poly m, const poly q, int &lp, int lq, const poly spNoether, const ring r)
Definition: p_polys.h:981
polyrec * poly
Definition: hilb.h:10
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75
KINLINE void sLObject::Tail_Mult_nn ( number  n)

Definition at line 566 of file kInline.h.

567 {
568  if (bucket != NULL)
569  {
571  }
572  else
573  {
574  poly _p = (t_p != NULL ? t_p : p);
575  assume(_p != NULL);
576  pNext(_p) = p_Mult_nn(pNext(_p), n, tailRing);
577  }
578 }
kBucket_pt bucket
Definition: kutil.h:188
void kBucket_Mult_n(kBucket_pt bucket, number n)
Multiply Bucket by number ,i.e. Bpoly == n*Bpoly.
Definition: kbuckets.cc:576
poly t_p
Definition: kutil.h:76
#define assume(x)
Definition: mod2.h:405
static poly p_Mult_nn(poly p, number n, const ring r)
Definition: p_polys.h:902
#define NULL
Definition: omList.c:10
#define pNext(p)
Definition: monomials.h:43
polyrec * poly
Definition: hilb.h:10
ring tailRing
Definition: kutil.h:78
poly p
Definition: kutil.h:75

Field Documentation

kBucket_pt sLObject::bucket

Definition at line 188 of file kutil.h.

unsigned sLObject::checked

Definition at line 190 of file kutil.h.

int sLObject::i_r1

Definition at line 189 of file kutil.h.

int sLObject::i_r2

Definition at line 189 of file kutil.h.

poly sLObject::lcm

Definition at line 187 of file kutil.h.

poly sLObject::p1

Definition at line 184 of file kutil.h.

poly sLObject::p2

Definition at line 184 of file kutil.h.

BOOLEAN sLObject::prod_crit

Definition at line 195 of file kutil.h.

unsigned long sLObject::sev

Definition at line 183 of file kutil.h.


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