![]() |
#include "kernel/mod2.h"
#include <unistd.h>
#include <omp.h>
#include "kernel/structs.h"
#include "kernel/GBEngine/kutil.h"
#include "omalloc/omalloc.h"
#include "kernel/polys.h"
#include "polys/monomials/p_polys.h"
#include "polys/templates/p_Procs.h"
#include "kernel/ideals.h"
#include "kernel/GBEngine/kstd1.h"
#include "kernel/GBEngine/khstd.h"
#include "polys/kbuckets.h"
#include "polys/weight.h"
#include "misc/intvec.h"
#include "kernel/GBEngine/f5gb.h"
#include "kernel/GBEngine/f5data.h"
#include "kernel/GBEngine/f5lists.h"
#include "kernel/oswrapper/timer.h"
Go to the source code of this file.
Macros | |
#define | pDeg(A) p_Deg(A,currRing) |
Functions | |
void | qsortDegree (poly *left, poly *right) |
long | sumVector (int *v, int k) |
builds the sum of the entries of the exponent vectors, i.e. More... | |
bool | compareMonomials (int *m1, int **m2, int numberOfRules, int k) |
compares monomials, i.e. More... | |
LList * | F5inc (int i, poly f_i, LList *gPrev, LList *reducers, ideal gbPrev, poly ONE, LTagList *lTag, RList *rules, RTagList *rTag, int plus, int termination) |
bool | checkDGB (LList *gPrev) |
bool | arrisCheck (CNode *first, LNode *firstGCurr, long arrideg) |
void | criticalPair (LList *gPrev, CListOld *critPairs, LTagList *lTag, RTagList *rTag, RList *rules, PList *rejectedGBList, int plus) |
void | criticalPair2 (LList *gPrev, CListOld *critPairs, LTagList *lTag, RTagList *rTag, RList *rules, PList *rejectedGBList) |
bool | criterion1 (LList *gPrev, poly t, LNode *l, LTagList *lTag) |
bool | criterion2 (int idx, poly t, LNode *l, RList *rules, RTagList *rTag) |
bool | criterion2 (poly t, LPolyOld *l, RList *rules, RuleOld *testedRuleOld) |
int | computeUsefulMinDeg (CNode *first) |
void | computeSPols (CNode *first, RTagList *rTag, RList *rules, LList *sPolyList, PList *rejectedGBList) |
void | reduction (LList *sPolyList, CListOld *critPairs, LList *gPrev, RList *rules, LTagList *lTag, RTagList *rTag, ideal gbPrev, PList *rejectedGBList, int plus) |
void | newReduction (LList *sPolyList, CListOld *critPairs, LList *gPrev, LList *reducers, RList *rules, LTagList *lTag, RTagList *rTag, ideal gbPrev, int termination, PList *rejectedGBList, int plus) |
void | findReducers (LNode *l, LList *sPolyList, ideal gbPrev, LList *gPrev, LList *reducers, CListOld *critPairs, RList *rules, LTagList *lTag, RTagList *rTag, int termination, PList *rejectedGBList, int plus) |
searches for reducers of temp similar to the symbolic preprocessing of F4 and divides them into a "good" and "bad" part: More... | |
void | topReduction (LNode *l, LList *sPolyList, LList *gPrev, CListOld *critPairs, RList *rules, LTagList *lTag, RTagList *rTag, ideal gbPrev, PList *rejectedGBList, int plus) |
LNode * | findReductor (LNode *l, LList *sPolyList, LNode *gPrevRedCheck, LList *gPrev, RList *rules, LTagList *lTag, RTagList *rTag, PList *rejectedGBList) |
ideal | F5main (ideal id, ring r, int opt, int plus, int termination) |
Variables | |
int | notInG = 0 |
int | numberOfRules = 0 |
int | reductionsToZero = 0 |
int | reductionTime = 0 |
int | spolsTime = 0 |
int | highestDegree = 0 |
int | degreeBound = 0 |
int | numberUsefulPairs = 0 |
int | numberUselessPairs = 0 |
int | numberUsefulPairsMinDeg = 0 |
int | highestDegreeGBCriticalPair = 0 |
int | numberRejectedF5CriticalPairs = 0 |
int | numberOfReductions = 0 |
int | numberOfSpolys = 0 |
Definition at line 383 of file f5gb.cc.
bool checkDGB | ( | LList * | gPrev | ) |
Definition at line 300 of file f5gb.cc.
bool compareMonomials | ( | int * | m1, |
int ** | m2, | ||
int | numberOfRules, | ||
int | k | ||
) |
compares monomials, i.e.
Definition at line 109 of file f5gb.cc.
|
inline |
Definition at line 845 of file f5gb.cc.
int computeUsefulMinDeg | ( | CNode * | first | ) |
Definition at line 829 of file f5gb.cc.
Definition at line 615 of file f5gb.cc.
Definition at line 676 of file f5gb.cc.
Definition at line 788 of file f5gb.cc.
|
inline |
Definition at line 442 of file f5gb.cc.
|
inline |
Definition at line 554 of file f5gb.cc.
LList* F5inc | ( | int | i, |
poly | f_i, | ||
LList * | gPrev, | ||
LList * | reducers, | ||
ideal | gbPrev, | ||
poly | ONE, | ||
LTagList * | lTag, | ||
RList * | rules, | ||
RTagList * | rTag, | ||
int | plus, | ||
int | termination | ||
) |
Definition at line 131 of file f5gb.cc.
ideal F5main | ( | ideal | id, |
ring | r, | ||
int | opt, | ||
int | plus, | ||
int | termination | ||
) |
Definition at line 1890 of file f5gb.cc.
void findReducers | ( | LNode * | l, |
LList * | sPolyList, | ||
ideal | gbPrev, | ||
LList * | gPrev, | ||
LList * | reducers, | ||
CListOld * | critPairs, | ||
RList * | rules, | ||
LTagList * | lTag, | ||
RTagList * | rTag, | ||
int | termination, | ||
PList * | rejectedGBList, | ||
int | plus | ||
) |
searches for reducers of temp similar to the symbolic preprocessing of F4 and divides them into a "good" and "bad" part:
the "good" ones are the reducers which do not corrupt the label of temp, with these the normal form of temp is computed
the "bad" ones are the reducers which corrupt the label of temp, they are tested
Definition at line 1203 of file f5gb.cc.
LNode* findReductor | ( | LNode * | l, |
LList * | sPolyList, | ||
LNode * | gPrevRedCheck, | ||
LList * | gPrev, | ||
RList * | rules, | ||
LTagList * | lTag, | ||
RTagList * | rTag, | ||
PList * | rejectedGBList | ||
) |
Definition at line 1815 of file f5gb.cc.
|
inline |
Definition at line 1136 of file f5gb.cc.
void qsortDegree | ( | poly * | left, |
poly * | right | ||
) |
Definition at line 52 of file f5gb.cc.
|
inline |
Definition at line 1090 of file f5gb.cc.
long sumVector | ( | int * | v, |
int | k | ||
) |
|
inline |
Definition at line 1705 of file f5gb.cc.