gb_hack.h
Go to the documentation of this file.
1 #ifndef POLYS_NC_GB_HACK_H
2 #define POLYS_NC_GB_HACK_H
3 
4 #ifdef HAVE_PLURAL
5 
6 #ifdef PLURAL_INTERNAL_DECLARATIONS
7 
8 struct spolyrec; typedef struct spolyrec polyrec; typedef polyrec * poly;
9 struct ip_sring; typedef struct ip_sring * ring;
10 struct sip_sideal; typedef struct sip_sideal * ideal;
11 
12 class intvec;
13 
14 class skStrategy; typedef skStrategy * kStrategy;
15 typedef ideal (*GB_Proc_Ptr)(const ideal, const ideal, const intvec*, const intvec*, kStrategy, const ring);
16 
17 
18 ideal gnc_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
19 ideal gnc_gr_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
20 
21 /// Modified Plural's Buchberger's algorithmus.
22 ideal sca_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
23 
24 /// Modified modern Sinuglar Buchberger's algorithm.
25 ideal sca_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
26 
27 /// Modified modern Sinuglar Mora's algorithm.
28 ideal sca_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
29 
30 poly kNF(ideal, ideal, poly, int, int, const ring _currRing);
31 
32 
33 
34 # ifdef PLURAL_INTERNAL_DECLARATIONS_GB_HACK
35 
36 extern void WerrorS(const char *);
37 
38 # define STR_EXPAND(tok) #tok
39 # define D(A) A{ WerrorS("This is a hack. Function is not defined: " STR_EXPAND(A) ); return NULL; (void)(_currRing); }
40 
41 D(ideal gnc_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
42 D(ideal gnc_gr_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
43 
44 /// Modified Plural's Buchberger's algorithmus.
45 D(ideal sca_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
46 
47 /// Modified modern Sinuglar Buchberger's algorithm.
48 D(ideal sca_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
49 
50 /// Modified modern Sinuglar Mora's algorithm.
51 D(ideal sca_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
52 
53 D(poly kNF(ideal, ideal, poly, int, int, const ring _currRing))
54 
55 #endif // # ifdef PLURAL_INTERNAL_DECLARATIONS_GB_HACK
56 #endif // PLURAL_INTERNAL_DECLARATIONS
57 
58 
59 #endif // HAVE_PLURAL
60 #endif // POLYS_NC_GB_HACK_H
61 
ideal gnc_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing)
Definition: gr_kstd2.cc:1052
ideal gnc_gr_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing)
Definition: gr_kstd2.cc:1314
const ideal
Definition: gb_hack.h:42
Definition: ring.h:203
skStrategy * kStrategy
Definition: gb_hack.h:14
ideal(* GB_Proc_Ptr)(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring)
Definition: gb_hack.h:15
Definition: intvec.h:16
polyrec * poly
Definition: hilb.h:10
poly kNF(ideal, ideal, poly, int, int, const ring _currRing)
NOTE: this is just a wrapper which sets currRing for the actual kNF call.
Definition: kstd1.cc:2698
void WerrorS(const char *)
Definition: feFopen.cc:23
ideal sca_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing)
Modified modern Sinuglar Buchberger's algorithm.
Definition: sca.cc:375
polyrec * poly
Definition: gb_hack.h:8
#define const
Definition: fegetopt.c:41
#define D(A)
Definition: gb_hack.h:39
ideal sca_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing)
Modified Plural's Buchberger's algorithmus.
Definition: sca.cc:101
ideal sca_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing)
Modified modern Sinuglar Mora's algorithm.
Definition: sca.cc:899