Annotation of OpenXM/src/kan96xx/plugin/cmo.h.org, Revision 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>