source: git/libpolys/polys/nc/gb_hack.h @ 644b31

spielwiese
Last change on this file since 644b31 was 80ca3c, checked in by Oleksandr Motsak <motsak@…>, 12 years ago
NC-subsystem preparations fix: gnc_GB properly add: gb_hack.h to help handling the circular dependency (GB&NC) chg: moved stuff around and misc changes
  • Property mode set to 100644
File size: 2.4 KB
Line 
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
8struct  spolyrec;
9typedef struct spolyrec    polyrec;
10typedef polyrec *          poly;
11
12struct ip_sring;
13typedef struct ip_sring *         ring;
14
15class intvec;
16
17struct sip_sideal;
18typedef struct sip_sideal *       ideal;
19
20class skStrategy; typedef skStrategy * kStrategy;
21typedef ideal (*GB_Proc_Ptr)(const ideal, const ideal, const intvec*, const intvec*, kStrategy, const ring);
22
23
24ideal gnc_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
25ideal gnc_gr_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
26
27/// Modified Plural's Buchberger's algorithmus.
28ideal sca_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
29
30/// Modified modern Sinuglar Buchberger's algorithm.
31ideal sca_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
32
33/// Modified modern Sinuglar Mora's algorithm.
34ideal sca_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing);
35
36poly kNF(ideal, ideal, poly, int, int, const ring _currRing);
37
38
39
40# ifdef PLURAL_INTERNAL_DECLARATIONS_GB_HACK
41
42extern void WerrorS(const char *);
43
44# define STR_EXPAND(tok) #tok
45# define D(A) A \
46{               \
47                WerrorS("This is a hack. Function is not defined: " \
48                        STR_EXPAND(A) \
49                       ); \
50}
51
52D(ideal gnc_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
53D(ideal gnc_gr_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
54
55/// Modified Plural's Buchberger's algorithmus.
56D(ideal sca_gr_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
57
58/// Modified modern Sinuglar Buchberger's algorithm.
59D(ideal sca_bba(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
60
61/// Modified modern Sinuglar Mora's algorithm.
62D(ideal sca_mora(const ideal, const ideal, const intvec *, const intvec *, kStrategy, const ring _currRing))
63
64D(poly kNF(ideal, ideal, poly, int, int, const ring _currRing))
65
66#endif // # ifdef PLURAL_INTERNAL_DECLARATIONS_GB_HACK
67#endif // PLURAL_INTERNAL_DECLARATIONS
68
69
70#endif // HAVE_PLURAL
71#endif // POLYS_NC_GB_HACK_H
72
Note: See TracBrowser for help on using the repository browser.