version 1.8, 2001/05/04 01:06:29 |
version 1.12, 2004/08/28 12:50:06 |
|
|
/*$OpenXM: OpenXM/src/kan96xx/plugin/cmo.c,v 1.7 2001/04/15 07:55:07 takayama Exp $*/ |
/*$OpenXM: OpenXM/src/kan96xx/plugin/cmo.c,v 1.11 2004/03/08 08:24:42 takayama Exp $*/ |
#include <stdio.h> |
#include <stdio.h> |
#include <string.h> |
#include <string.h> |
/* #include <netinet/in.h> */ |
/* #include <netinet/in.h> */ |
Line 660 void cmoObjectToCmo00(struct object ob) |
|
Line 660 void cmoObjectToCmo00(struct object ob) |
|
case SuniversalNumber: |
case SuniversalNumber: |
cmoOutGMPCoeff(ob.lc.universalNumber->val.bigp); |
cmoOutGMPCoeff(ob.lc.universalNumber->val.bigp); |
break; |
break; |
|
case SrationalFunction: |
|
tmp[0] = htonl(CMO_RATIONAL); |
|
cmoOutputToBuf(CMOPUT,tmp,sizeof(cmoint)); |
|
cmoObjectToCmo00(*(Knumerator(ob))); |
|
cmoObjectToCmo00(*(Kdenominator(ob))); |
|
break; |
case Sdouble: |
case Sdouble: |
if (sizeof(double) != 8) errorCmo("double is assumed to be 8 bytes."); |
if (sizeof(double) != 8) errorCmo("double is assumed to be 8 bytes."); |
cmoOutRawInt(CMO_64BIT_MACHINE_DOUBLE); |
cmoOutRawInt(CMO_64BIT_MACHINE_DOUBLE); |
Line 1011 struct object cmoCmoToObject00(struct cmoBuffer *cb) |
|
Line 1017 struct object cmoCmoToObject00(struct cmoBuffer *cb) |
|
}else{ |
}else{ |
ob1 = getoa(rob,0); |
ob1 = getoa(rob,0); |
if (ob1.tag != Sdollar) warningCmo("CMO_TREE : the first arg must be the node name by a string."); |
if (ob1.tag != Sdollar) warningCmo("CMO_TREE : the first arg must be the node name by a string."); |
ob2 = getoa(rob,1); /* content dictionary name. */ |
ob2 = getoa(rob,1); /* Attribute List */ |
if (ob2.tag != Sdollar) warningCmo("CMO_TREE : the second arg must be the node name by a string."); |
if (ob2.tag != Sarray) warningCmo("CMO_TREE : the second arg must be a list of attributes."); |
rob = KpoTree(rob); |
rob = KpoTree(rob); |
} |
} |
break; |
break; |
Line 1430 void *KSmathCapByStruct(void) |
|
Line 1436 void *KSmathCapByStruct(void) |
|
mathcap->cmo[19]= CMO_64BIT_MACHINE_DOUBLE; |
mathcap->cmo[19]= CMO_64BIT_MACHINE_DOUBLE; |
mathcap->cmo[20]= CMO_ARRAY; |
mathcap->cmo[20]= CMO_ARRAY; |
mathcap->cmo[21]= CMO_RATIONAL; |
mathcap->cmo[21]= CMO_RATIONAL; |
|
mathcap->cmo[22]= CMO_QQ; |
|
|
mathcap->n = 22 ; /* This is the number of cmo object. You can use |
mathcap->n = 23 ; /* This is the number of cmo object. You can use |
cmo upto 1023. see mathcap.h */ |
cmo upto 1023. see mathcap.h */ |
|
|
mathcap->ox[0] = OX_DATA; |
mathcap->ox[0] = OX_DATA; |
Line 1450 void *KSmathCapByStruct(void) |
|
Line 1457 void *KSmathCapByStruct(void) |
|
mathcap->sm[9] = SM_getsp; |
mathcap->sm[9] = SM_getsp; |
mathcap->sm[10] = SM_dupErrors; |
mathcap->sm[10] = SM_dupErrors; |
mathcap->sm[11] = SM_pushCMOtag; |
mathcap->sm[11] = SM_pushCMOtag; |
mathcap->smSize = 12; |
mathcap->sm[12] = SM_executeFunctionWithOptionalArgument; |
|
mathcap->smSize = 13; |
|
|
return((void *)mathcap); |
return((void *)mathcap); |
} |
} |