source: git/Singular/ring.h @ 50abaf2

spielwiese
Last change on this file since 50abaf2 was 50abaf2, checked in by Olaf Bachmann <obachman@…>, 25 years ago
1998-05-18 Olaf Bachmann <obachman@mathematik.uni-kl.de> * extra.cc (jjSYSTEM): changed "whoami" --> "Singular", added "nblocks" git-svn-id: file:///usr/local/Singular/svn/trunk@1834 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.2 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.13 1998-05-18 16:12:14 obachman 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);
43int    rBlocks(ring r);
44
45
46enum
47{
48  ringorder_no = 0,
49  ringorder_a,
50  ringorder_c,
51  ringorder_C,
52  ringorder_M,
53  ringorder_lp,
54  ringorder_dp,
55  ringorder_Dp,
56  ringorder_wp,
57  ringorder_Wp,
58  ringorder_ls,
59  ringorder_ds,
60  ringorder_Ds,
61  ringorder_ws,
62  ringorder_Ws,
63  ringorder_unspec
64};
65
66typedef enum rOrderType_t
67{
68  rOrderType_General = 0, // non-simple ordering as specified by currRing
69  rOrderType_CompExp,     // simple ordering, component has priority
70  rOrderType_ExpComp,     // simple ordering, exponent vector has priority
71                          // component not compatible with exp-vector order
72  rOrderType_Exp,         // simple ordering, exponent vector has priority
73                          // component is compatible with exp-vector order
74  rOrderType_Syz,         // syzygy ordering
75  rOrderType_Schreyer     // Schreyer ordering
76} rOrderType_t;
77
78BOOLEAN rHasSimpleOrder(ring r);
79// returns TRUE, if simple lp or ls ordering
80BOOLEAN rHasSimpleLexOrder(ring r);
81rOrderType_t    rGetOrderType(ring r);
82
83#ifdef RDEBUG
84extern short rNumber; /* current ring id (r->no) */
85#endif
86
87#endif
88
Note: See TracBrowser for help on using the repository browser.