![]() |
#include <string.h>
#include <omalloc/omalloc.h>
#include <omalloc/omallocClass.h>
#include <misc/mylimits.h>
#include <kernel/polys.h>
#include <polys/operations/pShallowCopyDelete.h>
#include <kernel/structs.h>
#include <kernel/GBEngine/kstd1.h>
#include <kernel/GBEngine/kInline.h>
#include <kernel/GBEngine/shiftgb.h>
Go to the source code of this file.
Data Structures | |
struct | denominator_list_s |
class | sTObject |
class | sLObject |
class | skStrategy |
Macros | |
#define | HAVE_TAIL_RING |
#define | setmax 16 |
#define | setmaxL ((4096-12)/sizeof(LObject)) |
#define | setmaxLinc ((4096)/sizeof(LObject)) |
#define | setmaxT 64 |
#define | setmaxTinc 32 |
#define | KINLINE |
#define | NO_KINLINE 1 |
#define | ALLOW_PROD_CRIT(A) (!(A)->no_prod_crit) |
#define | messageSets(s) do {} while (0) |
#define | kTest(A) (TRUE) |
#define | kTest_TS(A) (TRUE) |
#define | kTest_T(T) (TRUE) |
#define | kTest_S(T) (TRUE) |
#define | kTest_L(T) (TRUE) |
Typedefs | |
typedef int * | intset |
typedef int64 | wlen_type |
typedef wlen_type * | wlen_set |
typedef class sTObject | TObject |
typedef class sLObject | LObject |
typedef TObject * | TSet |
typedef LObject * | LSet |
typedef denominator_list_s * | denominator_list |
Variables | |
denominator_list | DENOMINATOR_LIST |
int | strat_nr |
int | HCord |
int(* | test_PosInT )(const TSet T, const int tl, LObject &h) |
int(* | test_PosInL )(const LSet set, const int length, LObject *L, const kStrategy strat) |
struct denominator_list_s |
Data Fields | ||
---|---|---|
number | n | |
denominator_list | next |
typedef denominator_list_s* denominator_list |
BOOLEAN arriRewCriterion | ( | poly | sig, |
unsigned long | not_sevSig, | ||
poly | lm, | ||
kStrategy | strat, | ||
int | start | ||
) |
Definition at line 7275 of file kutil.cc.
BOOLEAN arriRewCriterionPre | ( | poly | sig, |
unsigned long | not_sevSig, | ||
poly | lm, | ||
kStrategy | strat, | ||
int | start | ||
) |
Definition at line 7306 of file kutil.cc.
KINLINE BOOLEAN arriRewDummy | ( | poly | sig, |
unsigned long | not_sevSig, | ||
poly | lm, | ||
kStrategy | strat, | ||
int | start | ||
) |
Definition at line 1800 of file kstd2.cc.
ideal bbaShift | ( | ideal | F, |
ideal | Q, | ||
intvec * | w, | ||
intvec * | hilb, | ||
kStrategy | strat, | ||
int | uptodeg, | ||
int | lV | ||
) |
Definition at line 3677 of file kstd2.cc.
Definition at line 332 of file kutil.cc.
Definition at line 3250 of file kutil.cc.
Definition at line 3479 of file kutil.cc.
void cleanT | ( | kStrategy | strat | ) |
Definition at line 552 of file kutil.cc.
Definition at line 1141 of file kInline.h.
Definition at line 10508 of file kutil.cc.
ideal createG0 | ( | ) |
Definition at line 4545 of file kutil.cc.
Definition at line 318 of file kutil.cc.
Definition at line 243 of file kutil.cc.
Definition at line 1148 of file kutil.cc.
Definition at line 4660 of file kutil.cc.
Definition at line 4743 of file kutil.cc.
Definition at line 2217 of file kutil.cc.
void enterOnePairManyShifts | ( | int | i, |
poly | p, | ||
int | ecart, | ||
int | isFromQ, | ||
kStrategy | strat, | ||
int | atR, | ||
int | uptodeg, | ||
int | lV | ||
) |
Definition at line 12059 of file kutil.cc.
Definition at line 1934 of file kutil.cc.
void enterOnePairSelfShifts | ( | poly | qq, |
poly | p, | ||
int | ecart, | ||
int | isFromQ, | ||
kStrategy | strat, | ||
int | atR, | ||
int | uptodeg, | ||
int | lV | ||
) |
Definition at line 12134 of file kutil.cc.
void enterOnePairShift | ( | poly | q, |
poly | p, | ||
int | ecart, | ||
int | isFromQ, | ||
kStrategy | strat, | ||
int | atR, | ||
int | ecartq, | ||
int | qisFromQ, | ||
int | shiftcount, | ||
int | ifromS, | ||
int | uptodeg, | ||
int | lV | ||
) |
Definition at line 12197 of file kutil.cc.
void enterOnePairSigRing | ( | int | i, |
poly | p, | ||
poly | pSig, | ||
int | ecart, | ||
int | isFromQ, | ||
kStrategy | strat, | ||
int | atR | ||
) |
BOOLEAN enterOneStrongPoly | ( | int | i, |
poly | p, | ||
int | , | ||
int | , | ||
kStrategy | strat, | ||
int | atR = -1 , |
||
bool | enterTstrong = FALSE |
||
) |
Definition at line 1513 of file kutil.cc.
BOOLEAN enterOneStrongPolySig | ( | int | i, |
poly | p, | ||
poly | sig, | ||
int | , | ||
int | , | ||
kStrategy | strat, | ||
int | atR = -1 |
||
) |
Definition at line 1708 of file kutil.cc.
Definition at line 4936 of file kutil.cc.
void enterpairsShift | ( | poly | h, |
int | k, | ||
int | ecart, | ||
int | pos, | ||
kStrategy | strat, | ||
int | atR, | ||
int | uptodeg, | ||
int | lV | ||
) |
Definition at line 12491 of file kutil.cc.
void enterpairsSig | ( | poly | h, |
poly | hSig, | ||
int | from, | ||
int | k, | ||
int | ec, | ||
int | pos, | ||
kStrategy | strat, | ||
int | atR = -1 |
||
) |
Definition at line 4962 of file kutil.cc.
Definition at line 9124 of file kutil.cc.
void entersets | ( | LObject | h | ) |
Definition at line 9226 of file kutil.cc.
Definition at line 9561 of file kutil.cc.
Definition at line 9364 of file kutil.cc.
Definition at line 9449 of file kutil.cc.
void exitSba | ( | kStrategy | strat | ) |
Definition at line 10256 of file kutil.cc.
void f5c | ( | kStrategy | strat, |
int & | olddeg, | ||
int & | minimcnt, | ||
int & | hilbeledeg, | ||
int & | hilbcount, | ||
int & | srmax, | ||
int & | lrmax, | ||
int & | reduc, | ||
ideal | Q, | ||
intvec * | w, | ||
intvec * | hilb | ||
) |
Definition at line 3356 of file kstd2.cc.
BOOLEAN faugereRewCriterion | ( | poly | sig, |
unsigned long | not_sevSig, | ||
poly | lm, | ||
kStrategy | strat, | ||
int | start | ||
) |
Definition at line 7213 of file kutil.cc.
void finalReduceByMon | ( | kStrategy | strat | ) |
used for GB over ZZ: final reduction by constant elements background: any known constant element of ideal suppresses intermediate coefficient swell and beautifies output
Definition at line 11080 of file kutil.cc.
ideal freegb | ( | ideal | I, |
int | uptodeg, | ||
int | lVblock | ||
) |
Definition at line 4021 of file kstd2.cc.
Definition at line 482 of file kutil.cc.
void initBba | ( | kStrategy | strat | ) |
Definition at line 1426 of file kstd1.cc.
void initBbaShift | ( | kStrategy | strat | ) |
Definition at line 4182 of file kstd2.cc.
void initBuchMora | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 9987 of file kutil.cc.
void initBuchMoraCrit | ( | kStrategy | strat | ) |
Definition at line 9663 of file kutil.cc.
void initBuchMoraPos | ( | kStrategy | strat | ) |
Definition at line 9814 of file kutil.cc.
void initBuchMoraPosRing | ( | kStrategy | strat | ) |
Definition at line 9900 of file kutil.cc.
void initBuchMoraShift | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 11980 of file kutil.cc.
void initEcartBBA | ( | TObject * | h | ) |
void initEcartNormal | ( | TObject * | h | ) |
Definition at line 1256 of file kutil.cc.
void initenterpairsShift | ( | poly | h, |
int | k, | ||
int | ecart, | ||
int | isFromQ, | ||
kStrategy | strat, | ||
int | atR, | ||
int | uptodeg, | ||
int | lV | ||
) |
Definition at line 12523 of file kutil.cc.
Definition at line 9645 of file kutil.cc.
void initS | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 7928 of file kutil.cc.
void initSba | ( | ideal | F, |
kStrategy | strat | ||
) |
Definition at line 1479 of file kstd1.cc.
void initSbaBuchMora | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 10183 of file kutil.cc.
void initSbaCrit | ( | kStrategy | strat | ) |
Definition at line 9727 of file kutil.cc.
void initSbaPos | ( | kStrategy | strat | ) |
Definition at line 10081 of file kutil.cc.
void initSL | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 8024 of file kutil.cc.
void initSLSba | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 8123 of file kutil.cc.
void initSyzRules | ( | kStrategy | strat | ) |
Definition at line 8275 of file kutil.cc.
Definition at line 81 of file kInline.h.
KINLINE BOOLEAN k_GetLeadTerms | ( | const poly | p1, |
const poly | p2, | ||
const ring | p_r, | ||
poly & | m1, | ||
poly & | m2, | ||
const ring | m_r | ||
) |
Definition at line 960 of file kInline.h.
KINLINE void k_GetStrongLeadTerms | ( | const poly | p1, |
const poly | p2, | ||
const ring | leadRing, | ||
poly & | m1, | ||
poly & | m2, | ||
poly & | lcm, | ||
const ring | taiRing | ||
) |
Definition at line 1003 of file kInline.h.
Definition at line 901 of file kInline.h.
Definition at line 933 of file kInline.h.
Definition at line 910 of file kInline.h.
Definition at line 938 of file kInline.h.
Definition at line 919 of file kInline.h.
Definition at line 943 of file kInline.h.
Definition at line 926 of file kInline.h.
Definition at line 948 of file kInline.h.
Definition at line 10697 of file kutil.cc.
Definition at line 10735 of file kutil.cc.
Definition at line 4416 of file kutil.cc.
void kDebugPrint | ( | kStrategy | strat | ) |
Output some debug info about a given strategy.
Definition at line 11692 of file kutil.cc.
return -1 if no divisor is found number of first divisor in S, otherwise
Definition at line 197 of file kstd2.cc.
TObject* kFindDivisibleByInS | ( | kStrategy | strat, |
int | pos, | ||
LObject * | L, | ||
TObject * | T, | ||
long | ecart = LONG_MAX |
||
) |
Definition at line 7369 of file kutil.cc.
return -1 if no divisor is found number of first divisor in T, otherwise
Definition at line 88 of file kstd2.cc.
Definition at line 259 of file kstd2.cc.
Definition at line 318 of file kstd2.cc.
void kFreeStrat | ( | kStrategy | strat | ) |
Definition at line 3204 of file kstd2.cc.
ideal kNF2 | ( | ideal | F, |
ideal | Q, | ||
ideal | q, | ||
kStrategy | strat, | ||
int | lazyReduce | ||
) |
Definition at line 3273 of file kstd2.cc.
Definition at line 824 of file kspoly.cc.
void ksCreateSpoly | ( | LObject * | Pair, |
poly | spNoether = NULL , |
||
int | use_buckets = 0 , |
||
ring | tailRing = currRing , |
||
poly | m1 = NULL , |
||
poly | m2 = NULL , |
||
TObject ** | R = NULL |
||
) |
Definition at line 637 of file kspoly.cc.
Definition at line 1098 of file kInline.h.
Definition at line 1078 of file kInline.h.
Definition at line 1088 of file kInline.h.
Definition at line 1108 of file kInline.h.
int ksReducePoly | ( | LObject * | PR, |
TObject * | PW, | ||
poly | spNoether = NULL , |
||
number * | coef = NULL , |
||
kStrategy | strat = NULL |
||
) |
Definition at line 40 of file kspoly.cc.
int ksReducePolySig | ( | LObject * | PR, |
TObject * | PW, | ||
long | idx, | ||
poly | spNoether = NULL , |
||
number * | coef = NULL , |
||
kStrategy | strat = NULL |
||
) |
Definition at line 178 of file kspoly.cc.
int ksReducePolySigRing | ( | LObject * | PR, |
TObject * | PW, | ||
long | idx, | ||
poly | spNoether = NULL , |
||
number * | coef = NULL , |
||
kStrategy | strat = NULL |
||
) |
Definition at line 376 of file kspoly.cc.
Definition at line 752 of file kspoly.cc.
Definition at line 1051 of file kInline.h.
BOOLEAN kStratChangeTailRing | ( | kStrategy | strat, |
LObject * | L = NULL , |
||
TObject * | T = NULL , |
||
unsigned long | new_expbound = 0 |
||
) |
Definition at line 11146 of file kutil.cc.
void kStratInitChangeTailRing | ( | kStrategy | strat | ) |
Definition at line 11245 of file kutil.cc.
void message | ( | int | i, |
int * | reduc, | ||
int * | olddeg, | ||
kStrategy | strat, | ||
int | red_result | ||
) |
Definition at line 10631 of file kutil.cc.
void pairs | ( | ) |
Definition at line 11859 of file kutil.cc.
Definition at line 11828 of file kutil.cc.
Definition at line 11842 of file kutil.cc.
Definition at line 5291 of file kutil.cc.
Definition at line 6143 of file kutil.cc.
Definition at line 1098 of file kstd1.cc.
Definition at line 6401 of file kutil.cc.
Definition at line 6699 of file kutil.cc.
Definition at line 6513 of file kutil.cc.
Definition at line 6822 of file kutil.cc.
Definition at line 6898 of file kutil.cc.
int posInLF5CRing | ( | const LSet | set, |
int | start, | ||
const int | length, | ||
LObject * | L, | ||
const kStrategy | strat | ||
) |
Definition at line 6201 of file kutil.cc.
Definition at line 6225 of file kutil.cc.
Definition at line 5112 of file kutil.cc.
Definition at line 5213 of file kutil.cc.
Definition at line 6361 of file kutil.cc.
Definition at line 5346 of file kutil.cc.
Definition at line 5404 of file kutil.cc.
Definition at line 5557 of file kutil.cc.
Definition at line 5714 of file kutil.cc.
Definition at line 5809 of file kutil.cc.
Definition at line 5916 of file kutil.cc.
used for GB over ZZ: intermediate reduction by monomial elements background: any known constant element of ideal suppresses intermediate coefficient swell
Definition at line 10926 of file kutil.cc.
Definition at line 10991 of file kutil.cc.
poly preIntegerCheck | ( | ideal | F, |
ideal | Q | ||
) |
used for GB over ZZ: look for constant and monomial elements in the ideal background: any known constant element of ideal suppresses intermediate coefficient swell
Definition at line 10758 of file kutil.cc.
Definition at line 4055 of file kstd2.cc.
Definition at line 536 of file kstd2.cc.
Definition at line 1450 of file kstd2.cc.
TEST_OPT_REDTHROUGH &&
Definition at line 1290 of file kstd2.cc.
Definition at line 1654 of file kstd2.cc.
Definition at line 348 of file kstd1.cc.
Definition at line 432 of file kstd2.cc.
Definition at line 697 of file kstd2.cc.
Definition at line 865 of file kstd2.cc.
Definition at line 7577 of file kutil.cc.
Definition at line 7507 of file kutil.cc.
Definition at line 1116 of file kInline.h.
poly redtailBba | ( | LObject * | L, |
int | pos, | ||
kStrategy | strat, | ||
BOOLEAN | withT = FALSE , |
||
BOOLEAN | normalize = FALSE |
||
) |
Definition at line 7583 of file kutil.cc.
Definition at line 1130 of file kInline.h.
Definition at line 1123 of file kInline.h.
Definition at line 7692 of file kutil.cc.
Definition at line 12639 of file kutil.cc.
poly redtailSba | ( | LObject * | L, |
int | pos, | ||
kStrategy | strat, | ||
BOOLEAN | withT = FALSE , |
||
BOOLEAN | normalize = FALSE |
||
) |
Definition at line 1162 of file kstd2.cc.
void reorderS | ( | int * | suc, |
kStrategy | strat | ||
) |
Definition at line 5059 of file kutil.cc.
Definition at line 2166 of file kstd2.cc.
Definition at line 1645 of file kutil.cc.
Definition at line 11272 of file kutil.cc.
Definition at line 4899 of file kutil.cc.
void superenterpairsSig | ( | poly | h, |
poly | hSig, | ||
int | hFrom, | ||
int | k, | ||
int | ecart, | ||
int | pos, | ||
kStrategy | strat, | ||
int | atR = -1 |
||
) |
Definition at line 4909 of file kutil.cc.
Definition at line 7123 of file kutil.cc.
Definition at line 7161 of file kutil.cc.
long twoPow | ( | long | arg | ) |
void updateResult | ( | ideal | r, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 10296 of file kutil.cc.
Definition at line 8895 of file kutil.cc.
void updateSShift | ( | kStrategy | strat, |
int | uptodeg, | ||
int | lV | ||
) |
Definition at line 11952 of file kutil.cc.
denominator_list DENOMINATOR_LIST |
int strat_nr |
Definition at line 27 of file kstdfac.cc.