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
 
int lV
 
int cv
 
BOOLEAN interpt
 
BOOLEAN homog
 
BOOLEAN z2homog
 
BOOLEAN kHEdgeFound
 
BOOLEAN honey
 
BOOLEAN sugarCrit
 
BOOLEAN Gebauer
 
BOOLEAN noTailReduction
 
BOOLEAN fromT
 
BOOLEAN noetherSet
 
BOOLEAN update
 
BOOLEAN posInLOldFlag
 
BOOLEAN use_buckets
 
BOOLEAN LDegLast
 
BOOLEAN length_pLength
 
BOOLEAN posInLDependsOnLength
 
BOOLEAN no_prod_crit
 
char redTailChange
 
char news
 
char newt
 
char noClearS
 
char completeReduce_retry
 
char overflow
 

Detailed Description

Definition at line 270 of file kutil.h.

Constructor & Destructor Documentation

skStrategy::skStrategy ( )

Definition at line 9709 of file kutil.cc.

9710 {
9711  memset(this, 0, sizeof(skStrategy));
9712  strat_nr++;
9713  nr=strat_nr;
9714  tailRing = currRing;
9715  P.tailRing = currRing;
9716  tl = -1;
9717  sl = -1;
9718 #ifdef HAVE_LM_BIN
9719  lmBin = omGetStickyBinOfBin(currRing->PolyBin);
9720 #endif
9721 #ifdef HAVE_TAIL_BIN
9722  tailBin = omGetStickyBinOfBin(currRing->PolyBin);
9723 #endif
9724  pOrigFDeg = currRing->pFDeg;
9725  pOrigLDeg = currRing->pLDeg;
9726 }
int nr
Definition: kutil.h:344
int strat_nr
Definition: kstdfac.cc:27
int tl
Definition: kutil.h:348
pFDegProc pOrigFDeg
Definition: kutil.h:292
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
pLDegProc pOrigLDeg
Definition: kutil.h:293
LObject P
Definition: kutil.h:298
omBin omGetStickyBinOfBin(omBin bin)
Definition: omBin.c:373
ring tailRing
Definition: kutil.h:341
omBin tailBin
Definition: kutil.h:343
int sl
Definition: kutil.h:346
omBin lmBin
Definition: kutil.h:342
skStrategy::~skStrategy ( )

Definition at line 9729 of file kutil.cc.

9730 {
9731  if (lmBin != NULL)
9733  if (tailBin != NULL)
9735  (tailRing != NULL ? tailRing->PolyBin:
9736  currRing->PolyBin));
9737  if (t_kHEdge != NULL)
9739  if (t_kNoether != NULL)
9741 
9742  if (currRing != tailRing)
9745 }
void omMergeStickyBinIntoBin(omBin sticky_bin, omBin into_bin)
Definition: omBin.c:396
static void p_LmFree(poly p, ring)
Definition: p_polys.h:679
pFDegProc pOrigFDeg
Definition: kutil.h:292
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
pLDegProc pOrigLDeg
Definition: kutil.h:293
void pRestoreDegProcs(ring r, pFDegProc old_FDeg, pLDegProc old_lDeg)
Definition: p_polys.cc:3493
poly t_kHEdge
Definition: kutil.h:327
#define NULL
Definition: omList.c:10
ring tailRing
Definition: kutil.h:341
poly t_kNoether
Definition: kutil.h:329
omBin tailBin
Definition: kutil.h:343
void rKillModifiedRing(ring r)
Definition: ring.cc:2962
omBin lmBin
Definition: kutil.h:342

Member Function Documentation

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:326
ring currRing
Widely used global variable which specifies the current polynomial ring for Singular interpreter and ...
Definition: polys.cc:12
#define assume(x)
Definition: mod2.h:405
#define NULL
Definition: omList.c:10
ring tailRing
Definition: kutil.h:341
poly t_kNoether
Definition: kutil.h:329
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:340
int tl
Definition: kutil.h:348
#define assume(x)
Definition: mod2.h:405
int i
Definition: cfEzgcd.cc:123
TObject ** R
Definition: kutil.h:338
polyset S
Definition: kutil.h:302
#define NULL
Definition: omList.c:10
int sl
Definition: kutil.h:346
class sTObject TObject
Definition: kutil.h:59
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:340
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
int i
Definition: cfEzgcd.cc:123
TObject ** R
Definition: kutil.h:338
polyset S
Definition: kutil.h:302
#define NULL
Definition: omList.c:10
int sl
Definition: kutil.h:346
TSet T
Definition: kutil.h:322
class sTObject TObject
Definition: kutil.h:59

Field Documentation

int skStrategy::ak

Definition at line 351 of file kutil.h.

LSet skStrategy::B

Definition at line 324 of file kutil.h.

int skStrategy::Bl

Definition at line 350 of file kutil.h.

int skStrategy::Bmax

Definition at line 350 of file kutil.h.

int skStrategy::c3

Definition at line 345 of file kutil.h.

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

Definition at line 287 of file kutil.h.

char skStrategy::completeReduce_retry

Definition at line 393 of file kutil.h.

int skStrategy::cp

Definition at line 345 of file kutil.h.

int skStrategy::currIdx

Definition at line 313 of file kutil.h.

int skStrategy::cv

Definition at line 359 of file kutil.h.

ideal skStrategy::D

Definition at line 300 of file kutil.h.

intset skStrategy::ecartS

Definition at line 305 of file kutil.h.

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

Definition at line 286 of file kutil.h.

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

Definition at line 282 of file kutil.h.

intset skStrategy::fromQ

Definition at line 317 of file kutil.h.

intset skStrategy::fromS

Definition at line 306 of file kutil.h.

BOOLEAN skStrategy::fromT

Definition at line 369 of file kutil.h.

BOOLEAN skStrategy::Gebauer

Definition at line 368 of file kutil.h.

int skStrategy::HCord

Definition at line 353 of file kutil.h.

BOOLEAN skStrategy::homog

Definition at line 362 of file kutil.h.

BOOLEAN skStrategy::honey

Definition at line 367 of file kutil.h.

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

Definition at line 276 of file kutil.h.

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

Definition at line 283 of file kutil.h.

BOOLEAN skStrategy::interpt

Definition at line 361 of file kutil.h.

poly skStrategy::kHEdge

Definition at line 325 of file kutil.h.

BOOLEAN skStrategy::kHEdgeFound

Definition at line 366 of file kutil.h.

intvec* skStrategy::kHomW

Definition at line 334 of file kutil.h.

intvec* skStrategy::kModW

Definition at line 333 of file kutil.h.

poly skStrategy::kNoether

Definition at line 326 of file kutil.h.

LSet skStrategy::L

Definition at line 323 of file kutil.h.

int skStrategy::lastAxis

Definition at line 354 of file kutil.h.

int skStrategy::LazyDegree

Definition at line 351 of file kutil.h.

int skStrategy::LazyPass

Definition at line 351 of file kutil.h.

BOOLEAN skStrategy::LDegLast

Definition at line 375 of file kutil.h.

BOOLEAN skStrategy::length_pLength

Definition at line 377 of file kutil.h.

intset skStrategy::lenS

Definition at line 315 of file kutil.h.

wlen_set skStrategy::lenSw

Definition at line 316 of file kutil.h.

int skStrategy::Ll

Definition at line 349 of file kutil.h.

int skStrategy::Lmax

Definition at line 349 of file kutil.h.

omBin skStrategy::lmBin

Definition at line 342 of file kutil.h.

int skStrategy::lV

Definition at line 358 of file kutil.h.

ideal skStrategy::M

Definition at line 301 of file kutil.h.

int skStrategy::max_lower_index

Definition at line 314 of file kutil.h.

int skStrategy::minim

Definition at line 356 of file kutil.h.

int skStrategy::mu

Definition at line 346 of file kutil.h.

int skStrategy::newIdeal

Definition at line 355 of file kutil.h.

char skStrategy::news

Definition at line 390 of file kutil.h.

char skStrategy::newt

Definition at line 391 of file kutil.h.

kStrategy skStrategy::next

Definition at line 273 of file kutil.h.

BOOLEAN skStrategy::no_prod_crit

Definition at line 384 of file kutil.h.

char skStrategy::noClearS

Definition at line 392 of file kutil.h.

BOOLEAN skStrategy::noetherSet

Definition at line 370 of file kutil.h.

BOOLEAN skStrategy::noTailReduction

Definition at line 368 of file kutil.h.

BOOLEAN* skStrategy::NotUsedAxis

Definition at line 330 of file kutil.h.

int skStrategy::nr

Definition at line 344 of file kutil.h.

char skStrategy::overflow

Definition at line 394 of file kutil.h.

LObject skStrategy::P

Definition at line 298 of file kutil.h.

pShallowCopyDeleteProc skStrategy::p_shallow_copy_delete

Definition at line 336 of file kutil.h.

BOOLEAN* skStrategy::pairtest

Definition at line 331 of file kutil.h.

pFDegProc skStrategy::pOrigFDeg

Definition at line 292 of file kutil.h.

pFDegProc skStrategy::pOrigFDeg_TailRing

Definition at line 294 of file kutil.h.

pLDegProc skStrategy::pOrigLDeg

Definition at line 293 of file kutil.h.

pLDegProc skStrategy::pOrigLDeg_TailRing

Definition at line 295 of file kutil.h.

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

Definition at line 280 of file kutil.h.

BOOLEAN skStrategy::posInLDependsOnLength

Definition at line 379 of file kutil.h.

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

Definition at line 284 of file kutil.h.

BOOLEAN skStrategy::posInLOldFlag

Definition at line 372 of file kutil.h.

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

Definition at line 278 of file kutil.h.

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

Definition at line 277 of file kutil.h.

TObject** skStrategy::R

Definition at line 338 of file kutil.h.

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

Definition at line 274 of file kutil.h.

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

Definition at line 275 of file kutil.h.

char skStrategy::redTailChange

Definition at line 389 of file kutil.h.

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

Definition at line 289 of file kutil.h.

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

Definition at line 290 of file kutil.h.

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

Definition at line 291 of file kutil.h.

polyset skStrategy::S

Definition at line 302 of file kutil.h.

int* skStrategy::S_2_R

Definition at line 340 of file kutil.h.

s_poly_proc_t skStrategy::s_poly

Definition at line 296 of file kutil.h.

unsigned skStrategy::sbaOrder

Definition at line 312 of file kutil.h.

unsigned long* skStrategy::sevS

Definition at line 318 of file kutil.h.

unsigned long* skStrategy::sevSig

Definition at line 320 of file kutil.h.

unsigned long* skStrategy::sevSyz

Definition at line 319 of file kutil.h.

unsigned long* skStrategy::sevT

Definition at line 321 of file kutil.h.

ideal skStrategy::Shdl

Definition at line 299 of file kutil.h.

polyset skStrategy::sig

Definition at line 304 of file kutil.h.

int skStrategy::sl

Definition at line 346 of file kutil.h.

BOOLEAN skStrategy::sugarCrit

Definition at line 367 of file kutil.h.

polyset skStrategy::syz

Definition at line 303 of file kutil.h.

int skStrategy::syzComp

Definition at line 352 of file kutil.h.

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

Definition at line 288 of file kutil.h.

intset skStrategy::syzIdx

Definition at line 309 of file kutil.h.

int skStrategy::syzidxmax

Definition at line 347 of file kutil.h.

int skStrategy::syzl

Definition at line 347 of file kutil.h.

int skStrategy::syzmax

Definition at line 347 of file kutil.h.

TSet skStrategy::T

Definition at line 322 of file kutil.h.

poly skStrategy::t_kHEdge

Definition at line 327 of file kutil.h.

poly skStrategy::t_kNoether

Definition at line 329 of file kutil.h.

poly skStrategy::tail

Definition at line 332 of file kutil.h.

omBin skStrategy::tailBin

Definition at line 343 of file kutil.h.

ring skStrategy::tailRing

Definition at line 341 of file kutil.h.

int skStrategy::tl

Definition at line 348 of file kutil.h.

int skStrategy::tmax

Definition at line 348 of file kutil.h.

BOOLEAN skStrategy::update

Definition at line 371 of file kutil.h.

BOOLEAN skStrategy::use_buckets

Definition at line 373 of file kutil.h.

BOOLEAN skStrategy::z2homog

Definition at line 364 of file kutil.h.


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