source: git/Singular/ring.h @ d2b2a7

spielwiese
Last change on this file since d2b2a7 was fca547, checked in by Hans Schönemann <hannes@…>, 26 years ago
*** empty log message *** git-svn-id: file:///usr/local/Singular/svn/trunk@1317 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.1 KB
Line 
1#ifndef RING_H
2#define RING_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/*
7* ABSTRACT - the interpreter related ring operations
8*/
9/* $Id: ring.h,v 1.12 1998-04-03 17:38:42 Singular Exp $ */
10
11/* includes */
12#include "structs.h"
13#include "polys-impl.h"
14
15void   rChangeCurrRing(ring r, BOOLEAN complete = TRUE);
16void   rSetHdl(idhdl h, BOOLEAN complete);
17idhdl  rInit(char *s, sleftv* pn, sleftv* rv, sleftv* ord,
18  BOOLEAN isDRing);
19idhdl  rDefault(char *s);
20int    rIsRingVar(char *n);
21char * RingVar(short);
22void   rWrite(ring r);
23void   rKill(idhdl h);
24void   rKill(ring r);
25ring   rCopy(ring r);
26idhdl  rFindHdl(ring r, idhdl n);
27#ifdef DRING
28void rDSet();
29#endif
30void   rDInit();
31int rOrderName(char * ordername);
32char * rOrdStr(ring r);
33char * rVarStr(ring r);
34char * rCharStr(ring r);
35char * rString(ring r);
36int    rChar(ring r=currRing);
37#define rPar(r) (r->P)
38char * rParStr(ring r);
39int    rIsExtension(ring r);
40int    rIsExtension();
41int    rSum(ring r1, ring r2, ring &sum);
42void   rComplete(ring r);
43
44
45enum
46{
47  ringorder_no = 0,
48  ringorder_a,
49  ringorder_c,
50  ringorder_C,
51  ringorder_M,
52  ringorder_lp,
53  ringorder_dp,
54  ringorder_Dp,
55  ringorder_wp,
56  ringorder_Wp,
57  ringorder_ls,
58  ringorder_ds,
59  ringorder_Ds,
60  ringorder_ws,
61  ringorder_Ws,
62  ringorder_unspec
63};
64
65typedef enum rOrderType_t
66{
67  rOrderType_General = 0, // non-simple ordering as specified by currRing
68  rOrderType_CompExp,     // simple ordering, component has priority
69  rOrderType_ExpComp,     // simple ordering, exponent vector has priority
70                          // component not compatible with exp-vector order
71  rOrderType_Exp,         // simple ordering, exponent vector has priority
72                          // component is compatible with exp-vector order
73  rOrderType_Syz,         // syzygy ordering
74  rOrderType_Schreyer     // Schreyer ordering
75} rOrderType_t;
76
77BOOLEAN rHasSimpleOrder(ring r);
78// returns TRUE, if simple lp or ls ordering
79BOOLEAN rHasSimpleLexOrder(ring r);
80rOrderType_t    rGetOrderType(ring r);
81
82#ifdef RDEBUG
83extern short rNumber; /* current ring id (r->no) */
84#endif
85
86#endif
87
Note: See TracBrowser for help on using the repository browser.