Annotation of OpenXM/src/kan96xx/plugin/cmo0.h, Revision 1.3
1.3 ! takayama 1: /* $OpenXM: OpenXM/src/kan96xx/plugin/cmo0.h,v 1.2 2000/01/16 07:55:46 takayama Exp $ */
1.1 maekawa 2: /* cmo0.h */
3:
4: typedef enum {CMOINIT,CMOPUT,CMOGET,CMOFLUSH,
5: CMOINITSTREAM,CMOGETBYTE,CMOERROR,CMOERROR2} cmoAction;
1.3 ! takayama 6: typedef unsigned int cmoint;
1.1 maekawa 7:
8: struct cmoBuffer {
9: int size;
10: int pos;
11: int rpos;
12: int isStream;
13: int errorno;
14: FILE2 *fp;
15: void *buf;
16: };
17:
18: /* ------------------------------------------- */
19: struct object cmoObjectToCmo(struct object ob);
20: void cmoPrintCmo(struct object ob);
21: struct object cmoCmoToObject(struct object ob);
22:
23: /* ----------------------- */
24: int errorCmo(char *s);
25: struct cmoBuffer *cmoOutputToBuf(cmoAction a,void *data, int size);
26: int dumpCmoBuf(struct cmoBuffer *cb);
27: int cmoOutInt32(int k);
28: int cmoOutString(char *s,int size);
29: int cmoOutInt32Coeff(int k);
30: int cmoGetIntFromBuf(cmoAction a,struct cmoBuffer *cb);
31: int cmoOutMonomial32(POLY cell);
32: int cmoOutDMS() ;
33: int cmoOutPolynomial(POLY f) ;
34: int cmoOutPolynomial2(POLY f) ;
35: int cmoOutRingDefinition(struct ring * rp,int option);
36: int cmoOutRingDefinition2(struct ring * rp,int option);
37:
38: void *cmoGetString(struct cmoBuffer *cb, int size);
39: struct coeff * cmoGetInt32Coeff(struct cmoBuffer *cb);
40: POLY cmoGetMonomial32(struct cmoBuffer *cb);
41: POLY cmoListToPOLY(struct object ob); /* Assumes [CMO_ADD, ....] */
42: struct object streamToCmo(struct object of);
43: int cmoToStream(struct object cmoObj, struct object of);
44: struct object cmoListToPoly(struct object ob);
45: struct object cmoListToPoly2(struct object ob);
46: struct object cmoObjectToStream(struct object ob, struct object obStream);
47: struct object cmoObjectFromStream(struct object obStream);
48: struct object cmoObjectFromStream2(FILE2 *fp2);
49: struct object cmoObjectToStream2(struct object ob,FILE2 *fp2);
50:
51: int Kan_PushBinary(int size,void *data);
52: void *Kan_PopBinary(int *sizep);
53: int Kan_pushCMOFromStream(FILE2 *fp);
54: int Kan_popCMOToStream(FILE2 *fp,int serial);
55:
56:
57: int cmoOutRawInt(int k);
58: void *KSmathCapByStruct(void) ;
59: struct object KSmathCap(void);
60:
61: struct object cmoTranslateVariable_outGoing(struct object ob);
62: struct object cmoTranslateVariable_inComming(struct object ob);
63: /* ---------------- end of cmo.h ---------------------*/
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>