Annotation of OpenXM/src/kan96xx/plugin/cmo0.h, Revision 1.4
1.4 ! takayama 1: /* $OpenXM: OpenXM/src/kan96xx/plugin/cmo0.h,v 1.3 2000/01/31 12:32:52 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: /* ----------------------- */
1.4 ! takayama 24: void errorCmo(char *s);
1.1 maekawa 25: struct cmoBuffer *cmoOutputToBuf(cmoAction a,void *data, int size);
26: int dumpCmoBuf(struct cmoBuffer *cb);
1.4 ! takayama 27: void cmoOutCmoNull(void);
! 28: void cmoOutInt32(int k);
1.1 maekawa 29: int cmoOutString(char *s,int size);
1.4 ! takayama 30: void cmoOutInt32Coeff(int k);
1.1 maekawa 31: int cmoOutMonomial32(POLY cell);
32: int cmoOutDMS() ;
33: int cmoOutPolynomial(POLY f) ;
34: int cmoOutPolynomial2(POLY f) ;
1.4 ! takayama 35: void cmoOutRingDefinition(struct ring * rp,int option);
! 36: void cmoOutRingDefinition2(struct ring * rp,int option);
! 37: int cmoGetIntFromBuf(cmoAction a,struct cmoBuffer *cb);
1.1 maekawa 38:
39: void *cmoGetString(struct cmoBuffer *cb, int size);
40: struct coeff * cmoGetInt32Coeff(struct cmoBuffer *cb);
41: POLY cmoGetMonomial32(struct cmoBuffer *cb);
42: POLY cmoListToPOLY(struct object ob); /* Assumes [CMO_ADD, ....] */
43: struct object streamToCmo(struct object of);
44: int cmoToStream(struct object cmoObj, struct object of);
45: struct object cmoListToPoly(struct object ob);
46: struct object cmoListToPoly2(struct object ob);
47: struct object cmoObjectToStream(struct object ob, struct object obStream);
48: struct object cmoObjectFromStream(struct object obStream);
49: struct object cmoObjectFromStream2(FILE2 *fp2);
50: struct object cmoObjectToStream2(struct object ob,FILE2 *fp2);
51:
52: int Kan_PushBinary(int size,void *data);
53: void *Kan_PopBinary(int *sizep);
54: int Kan_pushCMOFromStream(FILE2 *fp);
55: int Kan_popCMOToStream(FILE2 *fp,int serial);
56:
57:
58: int cmoOutRawInt(int k);
59: void *KSmathCapByStruct(void) ;
60: struct object KSmathCap(void);
61:
62: struct object cmoTranslateVariable_outGoing(struct object ob);
63: struct object cmoTranslateVariable_inComming(struct object ob);
1.4 ! takayama 64:
! 65: void cmoDumpCmo(struct object ob);
1.1 maekawa 66: /* ---------------- end of cmo.h ---------------------*/
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>