My Project  UNKNOWN_GIT_VERSION
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 kHEdge
 
poly kNoether
 
poly t_kHEdge
 
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
 
int syzComp
 
int HCord
 
int lastAxis
 
int newIdeal
 
int minim
 
bool sigdrop
 
int nrsyzcrit
 
int nrrewcrit
 
int sbaEnterS
 
int blockred
 
int blockredmax
 
int lV
 
int cv
 
char interpt
 
char homog
 
char z2homog
 
char kHEdgeFound
 
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 262 of file kutil.h.

Constructor & Destructor Documentation

◆ skStrategy()

skStrategy::skStrategy ( )

Definition at line 11421 of file kutil.cc.

11422 {
11423  memset(this, 0, sizeof(skStrategy));
11424  strat_nr++;
11425  nr=strat_nr;
11426  tailRing = currRing;
11427  P.tailRing = currRing;
11428  tl = -1;
11429  sl = -1;
11430 #ifdef HAVE_LM_BIN
11431  lmBin = omGetStickyBinOfBin(currRing->PolyBin);
11432 #endif
11433 #ifdef HAVE_TAIL_BIN
11434  tailBin = omGetStickyBinOfBin(currRing->PolyBin);
11435 #endif
11436  pOrigFDeg = currRing->pFDeg;
11437  pOrigLDeg = currRing->pLDeg;
11438 }
int nr
Definition: kutil.h:339
int strat_nr
Definition: kstdfac.cc:25
int tl
Definition: kutil.h:343
pFDegProc pOrigFDeg
Definition: kutil.h:287
pLDegProc pOrigLDeg
Definition: kutil.h:288
LObject P
Definition: kutil.h:293
omBin omGetStickyBinOfBin(omBin bin)
Definition: omBin.c:373
ring tailRing
Definition: kutil.h:336
omBin tailBin
Definition: kutil.h:338
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
int sl
Definition: kutil.h:341
omBin lmBin
Definition: kutil.h:337

◆ ~skStrategy()

skStrategy::~skStrategy ( )

Definition at line 11441 of file kutil.cc.

11442 {
11443  if (lmBin != NULL)
11445  if (tailBin != NULL)// && !rField_is_Ring(currRing))
11447  (tailRing != NULL ? tailRing->PolyBin:
11448  currRing->PolyBin));
11449  if (t_kHEdge != NULL)
11451  if (t_kNoether != NULL)
11453 
11454  if (currRing != tailRing)
11457 }
void omMergeStickyBinIntoBin(omBin sticky_bin, omBin into_bin)
Definition: omBin.c:396
static void p_LmFree(poly p, ring)
Definition: p_polys.h:684
pFDegProc pOrigFDeg
Definition: kutil.h:287
pLDegProc pOrigLDeg
Definition: kutil.h:288
void pRestoreDegProcs(ring r, pFDegProc old_FDeg, pLDegProc old_lDeg)
Definition: p_polys.cc:3600
poly t_kHEdge
Definition: kutil.h:322
#define NULL
Definition: omList.c:10
ring tailRing
Definition: kutil.h:336
poly t_kNoether
Definition: kutil.h:324
omBin tailBin
Definition: kutil.h:338
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13
void rKillModifiedRing(ring r)
Definition: ring.cc:2973
omBin lmBin
Definition: kutil.h:337

Member Function Documentation

◆ kNoetherTail()

KINLINE poly skStrategy::kNoetherTail ( )

Definition at line 63 of file kInline.h.

64 {
65  if (tailRing == currRing)
66  return kNoether;
67  else
68  {
69  assume((kNoether == NULL && t_kNoether == NULL) ||
70  (kNoether != NULL && t_kNoether != NULL));
71  return t_kNoether;
72  }
73 }
poly kNoether
Definition: kutil.h:321
#define assume(x)
Definition: mod2.h:390
#define NULL
Definition: omList.c:10
ring tailRing
Definition: kutil.h:336
poly t_kNoether
Definition: kutil.h:324
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:13

◆ S_2_T()

KINLINE TObject * skStrategy::S_2_T ( int  i)

Definition at line 35 of file kInline.h.

36 {
37  assume(i>= 0 && i<=sl);
38  assume(S_2_R[i] >= 0 && S_2_R[i] <= tl);
39  TObject* TT = R[S_2_R[i]];
40  assume(TT != NULL && TT->p == S[i]);
41  return TT;
42 }
int * S_2_R
Definition: kutil.h:335
int tl
Definition: kutil.h:343
#define assume(x)
Definition: mod2.h:390
int i
Definition: cfEzgcd.cc:125
TObject ** R
Definition: kutil.h:333
polyset S
Definition: kutil.h:297
#define NULL
Definition: omList.c:10
int sl
Definition: kutil.h:341
class sTObject TObject
Definition: kutil.h:53

◆ s_2_t()

KINLINE TObject * skStrategy::s_2_t ( int  i)

Definition at line 44 of file kInline.h.

45 {
46  if (i >= 0 && i <= sl)
47  {
48  int sri= S_2_R[i];
49  if ((sri >= 0) && (sri <= tl))
50  {
51  TObject* t = R[sri];
52  if ((t != NULL) && (t->p == S[i]))
53  return t;
54  }
55  // last but not least, try kFindInT
56  sri = kFindInT(S[i], T, tl);
57  if (sri >= 0)
58  return &(T[sri]);
59  }
60  return NULL;
61 }
int * S_2_R
Definition: kutil.h:335
int kFindInT(poly p, TSet T, int tlength)
returns index of p in TSet, or -1 if not found
Definition: kutil.cc:704
int tl
Definition: kutil.h:343
int i
Definition: cfEzgcd.cc:125
TObject ** R
Definition: kutil.h:333
polyset S
Definition: kutil.h:297
#define NULL
Definition: omList.c:10
int sl
Definition: kutil.h:341
TSet T
Definition: kutil.h:317
class sTObject TObject
Definition: kutil.h:53

Field Documentation

◆ ak

int skStrategy::ak

Definition at line 346 of file kutil.h.

◆ B

LSet skStrategy::B

Definition at line 319 of file kutil.h.

◆ Bl

int skStrategy::Bl

Definition at line 345 of file kutil.h.

◆ blockred

int skStrategy::blockred

Definition at line 358 of file kutil.h.

◆ blockredmax

int skStrategy::blockredmax

Definition at line 359 of file kutil.h.

◆ Bmax

int skStrategy::Bmax

Definition at line 345 of file kutil.h.

◆ c3

int skStrategy::c3

Definition at line 340 of file kutil.h.

◆ chainCrit

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

Definition at line 282 of file kutil.h.

◆ completeReduce_retry

char skStrategy::completeReduce_retry

Definition at line 397 of file kutil.h.

◆ cp

int skStrategy::cp

Definition at line 340 of file kutil.h.

◆ currIdx

int skStrategy::currIdx

Definition at line 308 of file kutil.h.

◆ cv

int skStrategy::cv

Definition at line 363 of file kutil.h.

◆ D

ideal skStrategy::D

Definition at line 295 of file kutil.h.

◆ ecartS

intset skStrategy::ecartS

Definition at line 300 of file kutil.h.

◆ enterOnePair

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

Definition at line 281 of file kutil.h.

◆ enterS

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

Definition at line 277 of file kutil.h.

◆ fromQ

intset skStrategy::fromQ

Definition at line 312 of file kutil.h.

◆ fromS

intset skStrategy::fromS

Definition at line 301 of file kutil.h.

◆ fromT

char skStrategy::fromT

Definition at line 373 of file kutil.h.

◆ Gebauer

char skStrategy::Gebauer

Definition at line 372 of file kutil.h.

◆ HCord

int skStrategy::HCord

Definition at line 348 of file kutil.h.

◆ homog

char skStrategy::homog

Definition at line 366 of file kutil.h.

◆ honey

char skStrategy::honey

Definition at line 371 of file kutil.h.

◆ initEcart

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

Definition at line 271 of file kutil.h.

◆ initEcartPair

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

Definition at line 278 of file kutil.h.

◆ interpt

char skStrategy::interpt

Definition at line 365 of file kutil.h.

◆ kHEdge

poly skStrategy::kHEdge

Definition at line 320 of file kutil.h.

◆ kHEdgeFound

char skStrategy::kHEdgeFound

Definition at line 370 of file kutil.h.

◆ kHomW

intvec* skStrategy::kHomW

Definition at line 329 of file kutil.h.

◆ kModW

intvec* skStrategy::kModW

Definition at line 328 of file kutil.h.

◆ kNoether

poly skStrategy::kNoether

Definition at line 321 of file kutil.h.

◆ L

LSet skStrategy::L

Definition at line 318 of file kutil.h.

◆ lastAxis

int skStrategy::lastAxis

Definition at line 349 of file kutil.h.

◆ LazyDegree

int skStrategy::LazyDegree

Definition at line 346 of file kutil.h.

◆ LazyPass

int skStrategy::LazyPass

Definition at line 346 of file kutil.h.

◆ LDegLast

char skStrategy::LDegLast

Definition at line 379 of file kutil.h.

◆ length_pLength

char skStrategy::length_pLength

Definition at line 381 of file kutil.h.

◆ lenS

intset skStrategy::lenS

Definition at line 310 of file kutil.h.

◆ lenSw

wlen_set skStrategy::lenSw

Definition at line 311 of file kutil.h.

◆ Ll

int skStrategy::Ll

Definition at line 344 of file kutil.h.

◆ Lmax

int skStrategy::Lmax

Definition at line 344 of file kutil.h.

◆ lmBin

omBin skStrategy::lmBin

Definition at line 337 of file kutil.h.

◆ lV

int skStrategy::lV

Definition at line 362 of file kutil.h.

◆ M

ideal skStrategy::M

Definition at line 296 of file kutil.h.

◆ max_lower_index

int skStrategy::max_lower_index

Definition at line 309 of file kutil.h.

◆ minim

int skStrategy::minim

Definition at line 351 of file kutil.h.

◆ mu

int skStrategy::mu

Definition at line 341 of file kutil.h.

◆ newIdeal

int skStrategy::newIdeal

Definition at line 350 of file kutil.h.

◆ news

char skStrategy::news

Definition at line 394 of file kutil.h.

◆ newt

char skStrategy::newt

Definition at line 395 of file kutil.h.

◆ next

kStrategy skStrategy::next

Definition at line 268 of file kutil.h.

◆ no_prod_crit

char skStrategy::no_prod_crit

Definition at line 388 of file kutil.h.

◆ noClearS

char skStrategy::noClearS

Definition at line 396 of file kutil.h.

◆ noetherSet

char skStrategy::noetherSet

Definition at line 374 of file kutil.h.

◆ noTailReduction

char skStrategy::noTailReduction

Definition at line 372 of file kutil.h.

◆ NotUsedAxis

BOOLEAN* skStrategy::NotUsedAxis

Definition at line 325 of file kutil.h.

◆ nr

int skStrategy::nr

Definition at line 339 of file kutil.h.

◆ nrrewcrit

int skStrategy::nrrewcrit

Definition at line 355 of file kutil.h.

◆ nrsyzcrit

int skStrategy::nrsyzcrit

Definition at line 354 of file kutil.h.

◆ overflow

char skStrategy::overflow

Definition at line 398 of file kutil.h.

◆ P

LObject skStrategy::P

Definition at line 293 of file kutil.h.

◆ p_shallow_copy_delete

pShallowCopyDeleteProc skStrategy::p_shallow_copy_delete

Definition at line 331 of file kutil.h.

◆ pairtest

BOOLEAN* skStrategy::pairtest

Definition at line 326 of file kutil.h.

◆ pOrigFDeg

pFDegProc skStrategy::pOrigFDeg

Definition at line 287 of file kutil.h.

◆ pOrigFDeg_TailRing

pFDegProc skStrategy::pOrigFDeg_TailRing

Definition at line 289 of file kutil.h.

◆ pOrigLDeg

pLDegProc skStrategy::pOrigLDeg

Definition at line 288 of file kutil.h.

◆ pOrigLDeg_TailRing

pLDegProc skStrategy::pOrigLDeg_TailRing

Definition at line 290 of file kutil.h.

◆ posInL

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

Definition at line 275 of file kutil.h.

◆ posInLDependsOnLength

char skStrategy::posInLDependsOnLength

Definition at line 383 of file kutil.h.

◆ posInLOld

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

Definition at line 279 of file kutil.h.

◆ posInLOldFlag

char skStrategy::posInLOldFlag

Definition at line 376 of file kutil.h.

◆ posInLSba

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

Definition at line 273 of file kutil.h.

◆ posInT

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

Definition at line 272 of file kutil.h.

◆ R

TObject** skStrategy::R

Definition at line 333 of file kutil.h.

◆ red

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

Definition at line 269 of file kutil.h.

◆ red2

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

Definition at line 270 of file kutil.h.

◆ redTailChange

char skStrategy::redTailChange

Definition at line 393 of file kutil.h.

◆ rewCrit1

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

Definition at line 284 of file kutil.h.

◆ rewCrit2

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

Definition at line 285 of file kutil.h.

◆ rewCrit3

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

Definition at line 286 of file kutil.h.

◆ S

polyset skStrategy::S

Definition at line 297 of file kutil.h.

◆ S_2_R

int* skStrategy::S_2_R

Definition at line 335 of file kutil.h.

◆ s_poly

s_poly_proc_t skStrategy::s_poly

Definition at line 291 of file kutil.h.

◆ sbaEnterS

int skStrategy::sbaEnterS

Definition at line 356 of file kutil.h.

◆ sbaOrder

unsigned skStrategy::sbaOrder

Definition at line 307 of file kutil.h.

◆ sevS

unsigned long* skStrategy::sevS

Definition at line 313 of file kutil.h.

◆ sevSig

unsigned long* skStrategy::sevSig

Definition at line 315 of file kutil.h.

◆ sevSyz

unsigned long* skStrategy::sevSyz

Definition at line 314 of file kutil.h.

◆ sevT

unsigned long* skStrategy::sevT

Definition at line 316 of file kutil.h.

◆ Shdl

ideal skStrategy::Shdl

Definition at line 294 of file kutil.h.

◆ sig

polyset skStrategy::sig

Definition at line 299 of file kutil.h.

◆ sigdrop

bool skStrategy::sigdrop

Definition at line 353 of file kutil.h.

◆ sl

int skStrategy::sl

Definition at line 341 of file kutil.h.

◆ sugarCrit

char skStrategy::sugarCrit

Definition at line 371 of file kutil.h.

◆ syz

polyset skStrategy::syz

Definition at line 298 of file kutil.h.

◆ syzComp

int skStrategy::syzComp

Definition at line 347 of file kutil.h.

◆ syzCrit

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

Definition at line 283 of file kutil.h.

◆ syzIdx

intset skStrategy::syzIdx

Definition at line 304 of file kutil.h.

◆ syzidxmax

int skStrategy::syzidxmax

Definition at line 342 of file kutil.h.

◆ syzl

int skStrategy::syzl

Definition at line 342 of file kutil.h.

◆ syzmax

int skStrategy::syzmax

Definition at line 342 of file kutil.h.

◆ T

TSet skStrategy::T

Definition at line 317 of file kutil.h.

◆ t_kHEdge

poly skStrategy::t_kHEdge

Definition at line 322 of file kutil.h.

◆ t_kNoether

poly skStrategy::t_kNoether

Definition at line 324 of file kutil.h.

◆ tail

poly skStrategy::tail

Definition at line 327 of file kutil.h.

◆ tailBin

omBin skStrategy::tailBin

Definition at line 338 of file kutil.h.

◆ tailRing

ring skStrategy::tailRing

Definition at line 336 of file kutil.h.

◆ tl

int skStrategy::tl

Definition at line 343 of file kutil.h.

◆ tmax

int skStrategy::tmax

Definition at line 343 of file kutil.h.

◆ update

char skStrategy::update

Definition at line 375 of file kutil.h.

◆ use_buckets

char skStrategy::use_buckets

Definition at line 377 of file kutil.h.

◆ z2homog

char skStrategy::z2homog

Definition at line 368 of file kutil.h.


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