1 #ifndef STAIRC_H
2 #define STAIRC_H
3 /****************************************
4 *  Computer Algebra System SINGULAR     *
5 ****************************************/
6 /*
7 * ABSTRACT
8 */
9 
10 #include "polys/monomials/ring.h"
11 #include "kernel/polys.h"
12 #include "misc/intvec.h"
13 
14 void scComputeHC(ideal s,ideal Q, int  k,poly &hEdge, ring tailRing = currRing);
15 #if 0 // - alternative implementation for tests
16 void scComputeHCw(ideal s,ideal Q, int  k,poly &hEdge, ring tailRing = currRing);
17 #endif
18 
19 intvec * scIndIntvec(ideal S, ideal Q=NULL);
20 
21 // lists scIndIndset(ideal S, BOOLEAN all, ideal Q=NULL); // TODO: move to Singular/
22 
23 /// ideal dimension
24 int scDimInt(ideal  s,ideal Q=NULL);
25 /// scDimInt for ring-coefficients
26 int scDimIntRing(ideal  s,ideal Q=NULL);
27 int scMultInt(ideal  s,ideal Q=NULL);
28 int scMult0Int(ideal  s,ideal Q=NULL, const ring tailRing = currRing);
29 void scPrintDegree(int co, int mu);
30 void scDegree(ideal  s,intvec *modulweight,ideal Q=NULL);
31 
32 ideal scKBase(int deg, ideal  s, ideal Q=NULL, intvec * mv=NULL);
33 
34 #if HAVE_SHIFTBBA
35 int lp_gkDim(const ideal G);
36 int lp_kDim(const ideal G);
37 intvec * lp_ufnarovskiGraph(ideal G, ideal &standardWords);
38 #endif
39 
40 #endif
41 
42 
43