My Project
Loading...
Searching...
No Matches
red_object Class Reference

#include <tgb_internal.h>

Public Member Functions

void flatten ()
 
void validate ()
 
void adjust_coefs (number c_r, number c_ac_r)
 
wlen_type guess_quality (slimgb_alg *c)
 
int clear_to_poly ()
 
void canonicalize ()
 

Data Fields

kBucket_pt bucket
 
poly p
 
unsigned long sev
 
wlen_type initial_quality
 

Detailed Description

Definition at line 291 of file tgb_internal.h.

Member Function Documentation

◆ adjust_coefs()

void red_object::adjust_coefs ( number c_r,
number c_ac_r )

◆ canonicalize()

void red_object::canonicalize ( )

Definition at line 835 of file tgb.cc.

836{
838}
kBucket_pt bucket
int kBucketCanonicalize(kBucket_pt bucket)
Canonicalizes Bpoly, i.e. converts polys of buckets into one poly in one bucket: Returns number of bu...

◆ clear_to_poly()

int red_object::clear_to_poly ( )

Definition at line 4885 of file tgb.cc.

4886{
4887 flatten ();
4888 int l;
4889 kBucketClear (bucket, &p, &l);
4890 return l;
4891}
int l
Definition cfEzgcd.cc:100
void flatten()
Definition tgb.cc:4873
void kBucketClear(kBucket_pt bucket, poly *p, int *length)
Definition kbuckets.cc:521

◆ flatten()

void red_object::flatten ( )

Definition at line 4873 of file tgb.cc.

4874{
4875 assume (p == kBucketGetLm (bucket));
4876}
const poly kBucketGetLm(kBucket_pt bucket)
Definition kbuckets.cc:506
#define assume(x)
Definition mod2.h:389

◆ guess_quality()

wlen_type red_object::guess_quality ( slimgb_alg * c)

Definition at line 556 of file tgb.cc.

557{
558 //works at the moment only for lenvar 1, because in different
559 //case, you have to look on coefs
560 wlen_type s = 0;
561 if(c->isDifficultField)
562 {
563 //s=kSBucketLength(bucket,this->p);
564 if(c->eliminationProblem)
565 {
566 wlen_type cs;
567 number coef;
568
569 coef = pGetCoeff (kBucketGetLm (bucket));
570 //c=nSize(pGetCoeff(kBucketGetLm(b)));
571
572 //c=nSize(pGetCoeff(lm));
574 {
575 cs = nlQlogSize (coef, currRing->cf);
576 }
577 else
578 cs = nSize (coef);
579#ifdef HAVE_COEF_BUCKETS
580 if(bucket->coef[0] != NULL)
581 {
583 {
584 int modifier = nlQlogSize (pGetCoeff (bucket->coef[0]), currRing->cf);
585 cs += modifier;
586 }
587 else
588 {
589 int modifier = nSize (pGetCoeff (bucket->coef[0]));
590 cs *= modifier;
591 }
592 }
593#endif
594 //FIXME:not quadratic
595 wlen_type erg = kEBucketLength (this->bucket, this->p, c);
596 //erg*=cs;//for quadratic
597 erg *= cs;
599 erg *= cs;
600 //return cs*kEBucketLength(this->bucket,this->p,c);
601 return erg;
602 }
604 }
605 else
606 {
607 if(c->eliminationProblem)
608 //if (false)
609 s = kEBucketLength (this->bucket, this->p, c);
610 else
612 }
613 return s;
614}
BOOLEAN isDifficultField
BOOLEAN eliminationProblem
const CanonicalForm int s
Definition facAbsFact.cc:51
int64 wlen_type
Definition kutil.h:55
static FORCE_INLINE int nlQlogSize(number n, const coeffs r)
only used by slimgb (tgb.cc)
Definition longrat.h:76
static number & pGetCoeff(poly p)
return an alias to the leading coefficient of p assumes that p != NULL NOTE: not copy
Definition monomials.h:44
#define nSize(n)
Definition numbers.h:39
#define NULL
Definition omList.c:12
#define TEST_V_COEFSTRAT
Definition options.h:142
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition polys.cc:13
static BOOLEAN rField_is_Q(const ring r)
Definition ring.h:512
wlen_type kEBucketLength(kBucket *b, poly lm, slimgb_alg *ca)
Definition tgb.cc:471
static int bucket_guess(kBucket *bucket)
Definition tgb.cc:916
wlen_type kSBucketLength(kBucket *b, poly lm=NULL)
TODO CoefBuckets bercksichtigen.
Definition tgb.cc:221

◆ validate()

void red_object::validate ( )

Definition at line 4878 of file tgb.cc.

4879{
4880 p = kBucketGetLm (bucket);
4881 if(p)
4883}
unsigned long sev
#define pGetShortExpVector(a)
returns the "Short Exponent Vector" – used to speed up divisibility tests (see polys-impl....
Definition polys.h:153

Field Documentation

◆ bucket

kBucket_pt red_object::bucket

Definition at line 294 of file tgb_internal.h.

◆ initial_quality

wlen_type red_object::initial_quality

Definition at line 299 of file tgb_internal.h.

◆ p

poly red_object::p

Definition at line 295 of file tgb_internal.h.

◆ sev

unsigned long red_object::sev

Definition at line 296 of file tgb_internal.h.


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