My Project
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
skStrategy Class Reference

#include <kutil.h>

Public Member Functions

KINLINE poly kNoetherTail ()
 
 skStrategy ()
 
 ~skStrategy ()
 
KINLINE TObjectS_2_T (int i)
 
KINLINE TObjects_2_t (int i)
 
- Public Member Functions inherited from omallocClass
void * operator new (size_t size) throw (std::bad_alloc)
 
void operator delete (void *block) throw ()
 
void * operator new[] (size_t size) throw (std::bad_alloc)
 
void operator delete[] (void *block) throw ()
 
void * operator new (size_t size, const std::nothrow_t &) throw ()
 
void * operator new[] (size_t size, const std::nothrow_t &) throw ()
 

Data Fields

kStrategy next
 
int(* red )(LObject *L, kStrategy strat)
 
int(* red2 )(LObject *L, kStrategy strat)
 
void(* initEcart )(TObject *L)
 
int(* posInT )(const TSet T, const int tl, LObject &h)
 
int(* posInLSba )(const LSet set, const int length, LObject *L, const kStrategy strat)
 
int(* posInL )(const LSet set, const int length, LObject *L, const kStrategy strat)
 
void(* enterS )(LObject &h, int pos, kStrategy strat, int atR)
 
void(* initEcartPair )(LObject *h, poly f, poly g, int ecartF, int ecartG)
 
int(* posInLOld )(const LSet Ls, const int Ll, LObject *Lo, const kStrategy strat)
 
void(* enterOnePair )(int i, poly p, int ecart, int isFromQ, kStrategy strat, int atR)
 
void(* chainCrit )(poly p, int ecart, kStrategy strat)
 
BOOLEAN(* syzCrit )(poly sig, unsigned long not_sevSig, kStrategy strat)
 
BOOLEAN(* rewCrit1 )(poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)
 
BOOLEAN(* rewCrit2 )(poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)
 
BOOLEAN(* rewCrit3 )(poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)
 
pFDegProc pOrigFDeg
 
pLDegProc pOrigLDeg
 
pFDegProc pOrigFDeg_TailRing
 
pLDegProc pOrigLDeg_TailRing
 
s_poly_proc_t s_poly
 
LObject P
 
ideal Shdl
 
ideal D
 
ideal M
 
polyset S
 
polyset syz
 
polyset sig
 
intset ecartS
 
intset fromS
 
intset syzIdx
 
unsigned sbaOrder
 
int currIdx
 
int max_lower_index
 
intset lenS
 
wlen_set lenSw
 
intset fromQ
 
unsigned long * sevS
 
unsigned long * sevSyz
 
unsigned long * sevSig
 
unsigned long * sevT
 
TSet T
 
LSet L
 
LSet B
 
poly kNoether
 
poly t_kNoether
 
BOOLEANNotUsedAxis
 
BOOLEANpairtest
 
poly tail
 
intveckModW
 
intveckHomW
 
pShallowCopyDeleteProc p_shallow_copy_delete
 
TObject ** R
 
int * S_2_R
 
ring tailRing
 
omBin lmBin
 
omBin tailBin
 
int nr
 
int cp
 
int c3
 
int sl
 
int mu
 
int syzl
 
int syzmax
 
int syzidxmax
 
int tl
 
int tmax
 
int Ll
 
int Lmax
 
int Bl
 
int Bmax
 
int ak
 
int LazyDegree
 
int LazyPass
 
unsigned syzComp
 
int lastAxis
 
int newIdeal
 
int minim
 
bool sigdrop
 
int nrsyzcrit
 
int nrrewcrit
 
int sbaEnterS
 
int blockred
 
int blockredmax
 
int cv
 
char rightGB
 
char interpt
 
char homog
 
char z2homog
 
char kAllAxis
 
char honey
 
char sugarCrit
 
char Gebauer
 
char noTailReduction
 
char fromT
 
char noetherSet
 
char update
 
char posInLOldFlag
 
char use_buckets
 
char LDegLast
 
char length_pLength
 
char posInLDependsOnLength
 
char no_prod_crit
 
char redTailChange
 
char news
 
char newt
 
char noClearS
 
char completeReduce_retry
 
char overflow
 

Detailed Description

Definition at line 271 of file kutil.h.

Constructor & Destructor Documentation

◆ skStrategy()

skStrategy::skStrategy ( )

Definition at line 11364 of file kutil.cc.

11365{
11366 memset(this, 0, sizeof(skStrategy));
11367 strat_nr++;
11368 nr=strat_nr;
11370 P.tailRing = currRing;
11371 tl = -1;
11372 sl = -1;
11373#ifdef HAVE_LM_BIN
11375#endif
11376#ifdef HAVE_TAIL_BIN
11378#endif
11379 pOrigFDeg = currRing->pFDeg;
11380 pOrigLDeg = currRing->pLDeg;
11381}
ring tailRing
Definition: kutil.h:343
omBin lmBin
Definition: kutil.h:344
int tl
Definition: kutil.h:350
int nr
Definition: kutil.h:346
pFDegProc pOrigFDeg
Definition: kutil.h:296
omBin tailBin
Definition: kutil.h:345
LObject P
Definition: kutil.h:302
int sl
Definition: kutil.h:348
pLDegProc pOrigLDeg
Definition: kutil.h:297
EXTERN_VAR int strat_nr
Definition: kutil.h:181
VAR ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
#define omGetStickyBinOfBin(B)
Definition: xalloc.h:247

◆ ~skStrategy()

skStrategy::~skStrategy ( )

Definition at line 11384 of file kutil.cc.

11385{
11386 if (lmBin != NULL)
11388 if (tailBin != NULL)// && !rField_is_Ring(currRing))
11390 ((tailRing != NULL) ? tailRing->PolyBin:
11391 currRing->PolyBin));
11392 if (t_kNoether != NULL)
11394
11395 if (currRing != tailRing)
11398}
poly t_kNoether
Definition: kutil.h:330
#define NULL
Definition: omList.c:12
void pRestoreDegProcs(ring r, pFDegProc old_FDeg, pLDegProc old_lDeg)
Definition: p_polys.cc:3649
static void p_LmFree(poly p, ring)
Definition: p_polys.h:681
void rKillModifiedRing(ring r)
Definition: ring.cc:3059
#define omMergeStickyBinIntoBin(A, B)
Definition: xalloc.h:275

Member Function Documentation

◆ kNoetherTail()

KINLINE poly skStrategy::kNoetherTail ( )

Definition at line 66 of file kInline.h.

67{
68 if (tailRing == currRing)
69 return kNoether;
70 else
71 {
72 assume((kNoether == NULL && t_kNoether == NULL) ||
73 (kNoether != NULL && t_kNoether != NULL));
74 return t_kNoether;
75 }
76}
poly kNoether
Definition: kutil.h:329
#define assume(x)
Definition: mod2.h:389

◆ S_2_T()

KINLINE TObject * skStrategy::S_2_T ( int  i)

Definition at line 38 of file kInline.h.

39{
40 assume(i>= 0 && i<=sl);
41 assume(S_2_R[i] >= 0 && S_2_R[i] <= tl);
42 TObject* TT = R[S_2_R[i]];
43 assume(TT != NULL && TT->p == S[i]);
44 return TT;
45}
int i
Definition: cfEzgcd.cc:132
int * S_2_R
Definition: kutil.h:342
polyset S
Definition: kutil.h:306
TObject ** R
Definition: kutil.h:340
class sTObject TObject
Definition: kutil.h:57

◆ s_2_t()

KINLINE TObject * skStrategy::s_2_t ( int  i)

Definition at line 47 of file kInline.h.

48{
49 if (i >= 0 && i <= sl)
50 {
51 int sri= S_2_R[i];
52 if ((sri >= 0) && (sri <= tl))
53 {
54 TObject* t = R[sri];
55 if ((t != NULL) && (t->p == S[i]))
56 return t;
57 }
58 // last but not least, try kFindInT
59 sri = kFindInT(S[i], T, tl);
60 if (sri >= 0)
61 return &(T[sri]);
62 }
63 return NULL;
64}
TSet T
Definition: kutil.h:326
int kFindInT(poly p, TSet T, int tlength)
returns index of p in TSet, or -1 if not found
Definition: kutil.cc:718

Field Documentation

◆ ak

int skStrategy::ak

Definition at line 353 of file kutil.h.

◆ B

LSet skStrategy::B

Definition at line 328 of file kutil.h.

◆ Bl

int skStrategy::Bl

Definition at line 352 of file kutil.h.

◆ blockred

int skStrategy::blockred

Definition at line 364 of file kutil.h.

◆ blockredmax

int skStrategy::blockredmax

Definition at line 365 of file kutil.h.

◆ Bmax

int skStrategy::Bmax

Definition at line 352 of file kutil.h.

◆ c3

int skStrategy::c3

Definition at line 347 of file kutil.h.

◆ chainCrit

void(* skStrategy::chainCrit) (poly p, int ecart, kStrategy strat)

Definition at line 291 of file kutil.h.

◆ completeReduce_retry

char skStrategy::completeReduce_retry

Definition at line 403 of file kutil.h.

◆ cp

int skStrategy::cp

Definition at line 347 of file kutil.h.

◆ currIdx

int skStrategy::currIdx

Definition at line 317 of file kutil.h.

◆ cv

int skStrategy::cv

Definition at line 368 of file kutil.h.

◆ D

ideal skStrategy::D

Definition at line 304 of file kutil.h.

◆ ecartS

intset skStrategy::ecartS

Definition at line 309 of file kutil.h.

◆ enterOnePair

void(* skStrategy::enterOnePair) (int i, poly p, int ecart, int isFromQ, kStrategy strat, int atR)

Definition at line 290 of file kutil.h.

◆ enterS

void(* skStrategy::enterS) (LObject &h, int pos, kStrategy strat, int atR)

Definition at line 286 of file kutil.h.

◆ fromQ

intset skStrategy::fromQ

Definition at line 321 of file kutil.h.

◆ fromS

intset skStrategy::fromS

Definition at line 310 of file kutil.h.

◆ fromT

char skStrategy::fromT

Definition at line 379 of file kutil.h.

◆ Gebauer

char skStrategy::Gebauer

Definition at line 378 of file kutil.h.

◆ homog

char skStrategy::homog

Definition at line 372 of file kutil.h.

◆ honey

char skStrategy::honey

Definition at line 377 of file kutil.h.

◆ initEcart

void(* skStrategy::initEcart) (TObject *L)

Definition at line 280 of file kutil.h.

◆ initEcartPair

void(* skStrategy::initEcartPair) (LObject *h, poly f, poly g, int ecartF, int ecartG)

Definition at line 287 of file kutil.h.

◆ interpt

char skStrategy::interpt

Definition at line 371 of file kutil.h.

◆ kAllAxis

char skStrategy::kAllAxis

Definition at line 376 of file kutil.h.

◆ kHomW

intvec* skStrategy::kHomW

Definition at line 336 of file kutil.h.

◆ kModW

intvec* skStrategy::kModW

Definition at line 335 of file kutil.h.

◆ kNoether

poly skStrategy::kNoether

Definition at line 329 of file kutil.h.

◆ L

LSet skStrategy::L

Definition at line 327 of file kutil.h.

◆ lastAxis

int skStrategy::lastAxis

Definition at line 355 of file kutil.h.

◆ LazyDegree

int skStrategy::LazyDegree

Definition at line 353 of file kutil.h.

◆ LazyPass

int skStrategy::LazyPass

Definition at line 353 of file kutil.h.

◆ LDegLast

char skStrategy::LDegLast

Definition at line 385 of file kutil.h.

◆ length_pLength

char skStrategy::length_pLength

Definition at line 387 of file kutil.h.

◆ lenS

intset skStrategy::lenS

Definition at line 319 of file kutil.h.

◆ lenSw

wlen_set skStrategy::lenSw

Definition at line 320 of file kutil.h.

◆ Ll

int skStrategy::Ll

Definition at line 351 of file kutil.h.

◆ Lmax

int skStrategy::Lmax

Definition at line 351 of file kutil.h.

◆ lmBin

omBin skStrategy::lmBin

Definition at line 344 of file kutil.h.

◆ M

ideal skStrategy::M

Definition at line 305 of file kutil.h.

◆ max_lower_index

int skStrategy::max_lower_index

Definition at line 318 of file kutil.h.

◆ minim

int skStrategy::minim

Definition at line 357 of file kutil.h.

◆ mu

int skStrategy::mu

Definition at line 348 of file kutil.h.

◆ newIdeal

int skStrategy::newIdeal

Definition at line 356 of file kutil.h.

◆ news

char skStrategy::news

Definition at line 400 of file kutil.h.

◆ newt

char skStrategy::newt

Definition at line 401 of file kutil.h.

◆ next

kStrategy skStrategy::next

Definition at line 277 of file kutil.h.

◆ no_prod_crit

char skStrategy::no_prod_crit

Definition at line 394 of file kutil.h.

◆ noClearS

char skStrategy::noClearS

Definition at line 402 of file kutil.h.

◆ noetherSet

char skStrategy::noetherSet

Definition at line 380 of file kutil.h.

◆ noTailReduction

char skStrategy::noTailReduction

Definition at line 378 of file kutil.h.

◆ NotUsedAxis

BOOLEAN* skStrategy::NotUsedAxis

Definition at line 332 of file kutil.h.

◆ nr

int skStrategy::nr

Definition at line 346 of file kutil.h.

◆ nrrewcrit

int skStrategy::nrrewcrit

Definition at line 361 of file kutil.h.

◆ nrsyzcrit

int skStrategy::nrsyzcrit

Definition at line 360 of file kutil.h.

◆ overflow

char skStrategy::overflow

Definition at line 404 of file kutil.h.

◆ P

LObject skStrategy::P

Definition at line 302 of file kutil.h.

◆ p_shallow_copy_delete

pShallowCopyDeleteProc skStrategy::p_shallow_copy_delete

Definition at line 338 of file kutil.h.

◆ pairtest

BOOLEAN* skStrategy::pairtest

Definition at line 333 of file kutil.h.

◆ pOrigFDeg

pFDegProc skStrategy::pOrigFDeg

Definition at line 296 of file kutil.h.

◆ pOrigFDeg_TailRing

pFDegProc skStrategy::pOrigFDeg_TailRing

Definition at line 298 of file kutil.h.

◆ pOrigLDeg

pLDegProc skStrategy::pOrigLDeg

Definition at line 297 of file kutil.h.

◆ pOrigLDeg_TailRing

pLDegProc skStrategy::pOrigLDeg_TailRing

Definition at line 299 of file kutil.h.

◆ posInL

int(* skStrategy::posInL) (const LSet set, const int length, LObject *L, const kStrategy strat)

Definition at line 284 of file kutil.h.

◆ posInLDependsOnLength

char skStrategy::posInLDependsOnLength

Definition at line 389 of file kutil.h.

◆ posInLOld

int(* skStrategy::posInLOld) (const LSet Ls, const int Ll, LObject *Lo, const kStrategy strat)

Definition at line 288 of file kutil.h.

◆ posInLOldFlag

char skStrategy::posInLOldFlag

Definition at line 382 of file kutil.h.

◆ posInLSba

int(* skStrategy::posInLSba) (const LSet set, const int length, LObject *L, const kStrategy strat)

Definition at line 282 of file kutil.h.

◆ posInT

int(* skStrategy::posInT) (const TSet T, const int tl, LObject &h)

Definition at line 281 of file kutil.h.

◆ R

TObject** skStrategy::R

Definition at line 340 of file kutil.h.

◆ red

int(* skStrategy::red) (LObject *L, kStrategy strat)

Definition at line 278 of file kutil.h.

◆ red2

int(* skStrategy::red2) (LObject *L, kStrategy strat)

Definition at line 279 of file kutil.h.

◆ redTailChange

char skStrategy::redTailChange

Definition at line 399 of file kutil.h.

◆ rewCrit1

BOOLEAN(* skStrategy::rewCrit1) (poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)

Definition at line 293 of file kutil.h.

◆ rewCrit2

BOOLEAN(* skStrategy::rewCrit2) (poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)

Definition at line 294 of file kutil.h.

◆ rewCrit3

BOOLEAN(* skStrategy::rewCrit3) (poly sig, unsigned long not_sevSig, poly lm, kStrategy strat, int start)

Definition at line 295 of file kutil.h.

◆ rightGB

char skStrategy::rightGB

Definition at line 369 of file kutil.h.

◆ S

polyset skStrategy::S

Definition at line 306 of file kutil.h.

◆ S_2_R

int* skStrategy::S_2_R

Definition at line 342 of file kutil.h.

◆ s_poly

s_poly_proc_t skStrategy::s_poly

Definition at line 300 of file kutil.h.

◆ sbaEnterS

int skStrategy::sbaEnterS

Definition at line 362 of file kutil.h.

◆ sbaOrder

unsigned skStrategy::sbaOrder

Definition at line 316 of file kutil.h.

◆ sevS

unsigned long* skStrategy::sevS

Definition at line 322 of file kutil.h.

◆ sevSig

unsigned long* skStrategy::sevSig

Definition at line 324 of file kutil.h.

◆ sevSyz

unsigned long* skStrategy::sevSyz

Definition at line 323 of file kutil.h.

◆ sevT

unsigned long* skStrategy::sevT

Definition at line 325 of file kutil.h.

◆ Shdl

ideal skStrategy::Shdl

Definition at line 303 of file kutil.h.

◆ sig

polyset skStrategy::sig

Definition at line 308 of file kutil.h.

◆ sigdrop

bool skStrategy::sigdrop

Definition at line 359 of file kutil.h.

◆ sl

int skStrategy::sl

Definition at line 348 of file kutil.h.

◆ sugarCrit

char skStrategy::sugarCrit

Definition at line 377 of file kutil.h.

◆ syz

polyset skStrategy::syz

Definition at line 307 of file kutil.h.

◆ syzComp

unsigned skStrategy::syzComp

Definition at line 354 of file kutil.h.

◆ syzCrit

BOOLEAN(* skStrategy::syzCrit) (poly sig, unsigned long not_sevSig, kStrategy strat)

Definition at line 292 of file kutil.h.

◆ syzIdx

intset skStrategy::syzIdx

Definition at line 313 of file kutil.h.

◆ syzidxmax

int skStrategy::syzidxmax

Definition at line 349 of file kutil.h.

◆ syzl

int skStrategy::syzl

Definition at line 349 of file kutil.h.

◆ syzmax

int skStrategy::syzmax

Definition at line 349 of file kutil.h.

◆ T

TSet skStrategy::T

Definition at line 326 of file kutil.h.

◆ t_kNoether

poly skStrategy::t_kNoether

Definition at line 330 of file kutil.h.

◆ tail

poly skStrategy::tail

Definition at line 334 of file kutil.h.

◆ tailBin

omBin skStrategy::tailBin

Definition at line 345 of file kutil.h.

◆ tailRing

ring skStrategy::tailRing

Definition at line 343 of file kutil.h.

◆ tl

int skStrategy::tl

Definition at line 350 of file kutil.h.

◆ tmax

int skStrategy::tmax

Definition at line 350 of file kutil.h.

◆ update

char skStrategy::update

Definition at line 381 of file kutil.h.

◆ use_buckets

char skStrategy::use_buckets

Definition at line 383 of file kutil.h.

◆ z2homog

char skStrategy::z2homog

Definition at line 374 of file kutil.h.


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