![]() |
#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 7273 of file kutil.cc.
BOOLEAN arriRewCriterionPre | ( | poly | sig, |
unsigned long | not_sevSig, | ||
poly | lm, | ||
kStrategy | strat, | ||
int | start | ||
) |
Definition at line 7304 of file kutil.cc.
KINLINE BOOLEAN arriRewDummy | ( | poly | sig, |
unsigned long | not_sevSig, | ||
poly | lm, | ||
kStrategy | strat, | ||
int | start | ||
) |
Definition at line 1958 of file kstd2.cc.
ideal bbaShift | ( | ideal | F, |
ideal | Q, | ||
intvec * | w, | ||
intvec * | hilb, | ||
kStrategy | strat, | ||
int | uptodeg, | ||
int | lV | ||
) |
Definition at line 3995 of file kstd2.cc.
Definition at line 332 of file kutil.cc.
Definition at line 3253 of file kutil.cc.
Definition at line 3482 of file kutil.cc.
void cleanT | ( | kStrategy | strat | ) |
Definition at line 552 of file kutil.cc.
Definition at line 1122 of file kInline.h.
Definition at line 10622 of file kutil.cc.
ideal createG0 | ( | ) |
Definition at line 4544 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 4659 of file kutil.cc.
Definition at line 4742 of file kutil.cc.
Definition at line 2220 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 12173 of file kutil.cc.
Definition at line 1937 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 12248 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 12311 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 1516 of file kutil.cc.
BOOLEAN enterOneStrongPolySig | ( | int | i, |
poly | p, | ||
poly | sig, | ||
int | , | ||
int | , | ||
kStrategy | strat, | ||
int | atR = -1 |
||
) |
Definition at line 1711 of file kutil.cc.
Definition at line 4935 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 12605 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 4961 of file kutil.cc.
Definition at line 9238 of file kutil.cc.
void entersets | ( | LObject | h | ) |
Definition at line 9340 of file kutil.cc.
Definition at line 9675 of file kutil.cc.
Definition at line 9478 of file kutil.cc.
Definition at line 9563 of file kutil.cc.
void exitSba | ( | kStrategy | strat | ) |
Definition at line 10370 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 3674 of file kstd2.cc.
BOOLEAN faugereRewCriterion | ( | poly | sig, |
unsigned long | not_sevSig, | ||
poly | lm, | ||
kStrategy | strat, | ||
int | start | ||
) |
Definition at line 7211 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 11194 of file kutil.cc.
ideal freegb | ( | ideal | I, |
int | uptodeg, | ||
int | lVblock | ||
) |
Definition at line 4347 of file kstd2.cc.
Definition at line 482 of file kutil.cc.
long ind2 | ( | long | arg | ) |
void initBba | ( | kStrategy | strat | ) |
Definition at line 1426 of file kstd1.cc.
void initBbaShift | ( | kStrategy | strat | ) |
Definition at line 4508 of file kstd2.cc.
void initBuchMora | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 10101 of file kutil.cc.
void initBuchMoraCrit | ( | kStrategy | strat | ) |
Definition at line 9777 of file kutil.cc.
void initBuchMoraPos | ( | kStrategy | strat | ) |
Definition at line 9928 of file kutil.cc.
void initBuchMoraPosRing | ( | kStrategy | strat | ) |
Definition at line 10014 of file kutil.cc.
void initBuchMoraShift | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 12094 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 12637 of file kutil.cc.
Definition at line 9759 of file kutil.cc.
void initS | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 8042 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 10297 of file kutil.cc.
void initSbaCrit | ( | kStrategy | strat | ) |
Definition at line 9841 of file kutil.cc.
void initSbaPos | ( | kStrategy | strat | ) |
Definition at line 10195 of file kutil.cc.
void initSL | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 8138 of file kutil.cc.
void initSLSba | ( | ideal | F, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 8237 of file kutil.cc.
void initSyzRules | ( | kStrategy | strat | ) |
Definition at line 8389 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 935 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 978 of file kInline.h.
Definition at line 876 of file kInline.h.
Definition at line 908 of file kInline.h.
Definition at line 885 of file kInline.h.
Definition at line 913 of file kInline.h.
Definition at line 894 of file kInline.h.
Definition at line 918 of file kInline.h.
Definition at line 901 of file kInline.h.
Definition at line 923 of file kInline.h.
Definition at line 10811 of file kutil.cc.
Definition at line 10849 of file kutil.cc.
Definition at line 4415 of file kutil.cc.
void kDebugPrint | ( | kStrategy | strat | ) |
Output some debug info about a given strategy.
Definition at line 11806 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 7367 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 3377 of file kstd2.cc.
ideal kNF2 | ( | ideal | F, |
ideal | Q, | ||
ideal | q, | ||
kStrategy | strat, | ||
int | lazyReduce | ||
) |
Definition at line 3516 of file kstd2.cc.
Definition at line 3446 of file kstd2.cc.
ideal kNF2Bound | ( | ideal | F, |
ideal | Q, | ||
ideal | q, | ||
int | bound, | ||
kStrategy | strat, | ||
int | lazyReduce | ||
) |
Definition at line 3591 of file kstd2.cc.
Definition at line 1017 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 774 of file kspoly.cc.
Definition at line 1073 of file kInline.h.
Definition at line 1053 of file kInline.h.
Definition at line 1063 of file kInline.h.
Definition at line 1083 of file kInline.h.
int ksReducePoly | ( | LObject * | PR, |
TObject * | PW, | ||
poly | spNoether = NULL , |
||
number * | coef = NULL , |
||
kStrategy | strat = NULL |
||
) |
Definition at line 45 of file kspoly.cc.
int ksReducePolyBound | ( | LObject * | PR, |
TObject * | PW, | ||
int | bound, | ||
poly | spNoether = NULL , |
||
number * | coef = NULL , |
||
kStrategy | strat = NULL |
||
) |
Definition at line 176 of file kspoly.cc.
int ksReducePolySig | ( | LObject * | PR, |
TObject * | PW, | ||
long | idx, | ||
poly | spNoether = NULL , |
||
number * | coef = NULL , |
||
kStrategy | strat = NULL |
||
) |
Definition at line 315 of file kspoly.cc.
int ksReducePolySigRing | ( | LObject * | PR, |
TObject * | PW, | ||
long | idx, | ||
poly | spNoether = NULL , |
||
number * | coef = NULL , |
||
kStrategy | strat = NULL |
||
) |
Definition at line 513 of file kspoly.cc.
Definition at line 889 of file kspoly.cc.
Definition at line 1026 of file kInline.h.
BOOLEAN kStratChangeTailRing | ( | kStrategy | strat, |
LObject * | L = NULL , |
||
TObject * | T = NULL , |
||
unsigned long | new_expbound = 0 |
||
) |
Definition at line 11260 of file kutil.cc.
void kStratInitChangeTailRing | ( | kStrategy | strat | ) |
Definition at line 11359 of file kutil.cc.
void message | ( | int | i, |
int * | reduc, | ||
int * | olddeg, | ||
kStrategy | strat, | ||
int | red_result | ||
) |
Definition at line 10745 of file kutil.cc.
void pairs | ( | ) |
Definition at line 11973 of file kutil.cc.
Definition at line 11942 of file kutil.cc.
Definition at line 11956 of file kutil.cc.
Definition at line 5289 of file kutil.cc.
Definition at line 6141 of file kutil.cc.
Definition at line 1098 of file kstd1.cc.
Definition at line 6399 of file kutil.cc.
Definition at line 6697 of file kutil.cc.
Definition at line 6511 of file kutil.cc.
Definition at line 6820 of file kutil.cc.
Definition at line 6896 of file kutil.cc.
int posInLF5CRing | ( | const LSet | set, |
int | start, | ||
const int | length, | ||
LObject * | L, | ||
const kStrategy | strat | ||
) |
Definition at line 6199 of file kutil.cc.
Definition at line 6223 of file kutil.cc.
Definition at line 5111 of file kutil.cc.
Definition at line 5212 of file kutil.cc.
Definition at line 6359 of file kutil.cc.
Definition at line 5344 of file kutil.cc.
Definition at line 5402 of file kutil.cc.
Definition at line 5555 of file kutil.cc.
Definition at line 5712 of file kutil.cc.
Definition at line 5807 of file kutil.cc.
Definition at line 5914 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 11040 of file kutil.cc.
Definition at line 11105 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 10872 of file kutil.cc.
Definition at line 4381 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 7575 of file kutil.cc.
Definition at line 7505 of file kutil.cc.
Definition at line 1091 of file kInline.h.
poly redtailBba | ( | LObject * | L, |
int | pos, | ||
kStrategy | strat, | ||
BOOLEAN | withT = FALSE , |
||
BOOLEAN | normalize = FALSE |
||
) |
Definition at line 7581 of file kutil.cc.
Definition at line 1111 of file kInline.h.
Definition at line 1104 of file kInline.h.
Definition at line 7806 of file kutil.cc.
KINLINE poly redtailBbaBound | ( | poly | p, |
int | pos, | ||
kStrategy | strat, | ||
int | bound, | ||
BOOLEAN | normalize = FALSE |
||
) |
Definition at line 1097 of file kInline.h.
poly redtailBbaBound | ( | LObject * | L, |
int | pos, | ||
kStrategy | strat, | ||
int | bound, | ||
BOOLEAN | withT = FALSE , |
||
BOOLEAN | normalize = FALSE |
||
) |
Definition at line 7689 of file kutil.cc.
Definition at line 12753 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 5058 of file kutil.cc.
Definition at line 2333 of file kstd2.cc.
Definition at line 1648 of file kutil.cc.
Definition at line 11386 of file kutil.cc.
Definition at line 4898 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 4908 of file kutil.cc.
Definition at line 7121 of file kutil.cc.
Definition at line 7159 of file kutil.cc.
long twoPow | ( | long | arg | ) |
void updateResult | ( | ideal | r, |
ideal | Q, | ||
kStrategy | strat | ||
) |
Definition at line 10410 of file kutil.cc.
Definition at line 9009 of file kutil.cc.
void updateSShift | ( | kStrategy | strat, |
int | uptodeg, | ||
int | lV | ||
) |
Definition at line 12066 of file kutil.cc.
denominator_list DENOMINATOR_LIST |
int strat_nr |
Definition at line 27 of file kstdfac.cc.