Annotation of OpenXM/src/kan96xx/plugin/cmo.h.org, Revision 1.1.1.1
1.1 maekawa 1: /*cmo.h : Dont edit this file. */
2: /* cmotag.h */
3: /* #define CMO 1024 It is defined in stackm.h. */
4: #define LARGEID 0x7f000000
5:
6: #define CMO_ERROR (LARGEID+1)
7: #define CMO_ERROR2 (LARGEID+2)
8: #define CMO_NULL 1
9: #define CMO_INT32 2
10: #define CMO_DATUM 3
11: #define CMO_STRING 4
12: #define CMO_ARRAYOFINT32 5
13:
14: #define CMO_START_SIGNATURE 0x7fabcd03
15: #define CMO_LOCAL_OBJECT 0x7fcdef03
16:
17:
18: #define CMO_TAG 16
19: #define CMO_LIST 17
20: #define CMO_ATOM 18
21: #define CMO_MONOMIAL32 19
22: #define CMO_ZZ 20 /* CMO_GMPCOEF */
23: #define CMO_QQ 21
24: #define CMO_ZERO 22
25: #define CMO_DMS 23 /* Distributed monomial system */
26: #define CMO_DMS_GENERIC 24
27: #define CMO_DMS_OF_N_VARIABLES 25
28: #define CMO_RING_BY_NAME 26
29:
30: #define CMO_INT32COEFF 30 /* it should be thrown a way. */
31:
32: /* end of cmotag.h */
33:
34: /* cmo0.h */
35:
36: typedef enum {CMOINIT,CMOPUT,CMOGET,CMOFLUSH,
37: CMOINITSTREAM,CMOGETBYTE} cmoAction;
38: typedef unsigned long int cmoint;
39:
40: struct cmoBuffer {
41: int size;
42: int pos;
43: int rpos;
44: int isStream;
45: FILE2 *fp;
46: void *buf;
47: };
48:
49: /* ------------------------------------------- */
50: struct object cmoObjectToCmo(struct object ob);
51: void cmoPrintCmo(struct object ob);
52: struct object cmoCmoToObject(struct object ob);
53:
54: /* ----------------------- */
55: int errorCmo(char *s);
56: struct cmoBuffer *cmoOutputToBuf(cmoAction a,void *data, int size);
57: int dumpCmoBuf(struct cmoBuffer *cb);
58: int cmoOutInt32(int k);
59: int cmoOutString(char *s,int size);
60: int cmoOutInt32Coeff(int k);
61: int cmoGetIntFromBuf(cmoAction a,struct cmoBuffer *cb);
62: int cmoOutMonomial32(POLY cell);
63: int cmoOutDMS() ;
64: int cmoOutPolynomial(POLY f) ;
65: int cmoOutRingDefinition(struct ring * rp,int option);
66:
67: void *cmoGetString(struct cmoBuffer *cb, int size);
68: struct coeff * cmoGetInt32Coeff(struct cmoBuffer *cb);
69: POLY cmoGetMonomial32(struct cmoBuffer *cb);
70: POLY cmoListToPOLY(struct object ob); /* Assumes [CMO_ADD, ....] */
71: struct object streamToCmo(struct object of);
72: int cmoToStream(struct object cmoObj, struct object of);
73: struct object cmoListToPoly(struct object ob);
74: struct object cmoObjectToStream(struct object ob, struct object obStream);
75: struct object cmoObjectFromStream(struct object obStream);
76: struct object cmoObjectFromStream2(FILE2 *fp2);
77: struct object cmoObjectToStream2(struct object ob,FILE2 *fp2);
78:
79: int Kan_PushBinary(int size,void *data);
80: void *Kan_PopBinary(int *sizep);
81: int Kan_pushCMOFromStream(FILE2 *fp);
82: int Kan_popCMOToStream(FILE2 *fp);
83:
84:
85: int cmoOutRawInt(int k);
86: /* ---------------- end of cmo.h ---------------------*/
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>