next up previous contents
: Indeterminate ¤ª¤è¤Ó Tree : Open XM ¤ÎÀ߷פȼÂÁõ: ¥¯¥é¥¤¥¢¥ó¥È¥µ¡¼¥Ð¥â¥Ç¥ë¤È¿ô³Ø¶¦ÄÌɽ¸½ : ¥ª¥Ö¥¸¥§¥¯¥È¤Îʸ»úÎóɽ¸½   Ìܼ¡


¿ô, ¿¹à¼° ¤Î CMO ɽ¸½

@../SSkan/plugin/cmotag.h
#define     CMO_MONOMIAL32  19
#define     CMO_ZZ          20 
#define     CMO_QQ          21
#define     CMO_ZERO        22
#define     CMO_DMS_GENERIC  24
#define     CMO_DMS_OF_N_VARIABLES  25
#define     CMO_RING_BY_NAME   26
#define     CMO_DISTRIBUTED_POLYNOMIAL 31
#define     CMO_RATIONAL       34
#define     CMO_COMPLEX       35

#define     CMO_BIGFLOAT32    52

#define     CMO_INDETERMINATE  60
#define     CMO_TREE           61
#define     CMO_LAMBDA         62    /* for function definition */

°Ê²¼, ¥°¥ë¡¼¥× CMObject/Basic, CMObject/Tree ¤ª¤è¤Ó CMObject/DistributedPolynomial ¤Ë°¤¹¤ë CMObject ¤Î·Á¼°¤òÀâÌÀ¤¹¤ë.

OpenXM/src/ox_toolkit ¤Ë¤¢¤ë bconv ¤ò¤â¤Á¤¤¤ë¤È CMO expression ¤ò binary format ¤ËÊÑ´¹¤Ç¤­¤ë¤Î¤Ç, ¤³¤ì¤ò»²¹Í¤Ë¤¹¤ë¤È¤¤¤¤.

Example:

bash$ ./bconv
> (CMO_ZZ,123123);
00 00 00 14 00 00 00 01 00 01 e0 f3

Group CMObject/Basic requires CMObject/Primitive.
ZZ, QQ, Zero, Rational, Indeterminate $\in$ CMObject/Basic.

\begin{eqnarray*}
\mbox{Zero} &:& ({\tt CMO\_ZERO}) \\
& & \mbox{ --- ¥æ¥Ë¥Ð¡¼¥...
... {\sl Cstring}\, {\rm v}) \\
& & \mbox{ --- ÊÑ¿ô̾ $v$\ . } \\
\end{eqnarray*}

Indeterminate ¤ÏÊÑ¿ô̾¤ò¤¢¤é¤ï¤¹. v ¤Ï¥Ð¥¤¥ÈÎó¤Ç¤¢¤ì¤Ð¤Ê¤Ë¤òÍѤ¤¤Æ¤â¤è¤¤¤¬, ¥·¥¹¥Æ¥àËè¤ËÊÑ¿ô̾¤È¤·¤ÆÍѤ¤¤é¤ì¤ë¥Ð¥¤¥ÈÎó¤ÏÀ©¸Â¤¬¤¢¤ë. ³Æ¥·¥¹¥Æ¥à xxx ¤ÏǤ°Õ¤Îʸ»úÎó¤ò³Æ¥·¥¹¥Æ¥à¸ÇÍ­¤ÎÊÑ¿ô̾¤Ø1ÂÐ1¤ËÊÑ´¹¤Ç¤­¤ë¤è¤¦¤Ë ¼ÂÁõ¤·¤Ê¤¤¤È¤¤¤±¤Ê¤¤. (¤³¤ì¤ò Dx ¤Ï #dx ¤ÈÊÑ´¹¤¹¤ë¤Ê¤É¤Î escape sequence ¤òÍѤ¤¤Æ¼Â¸½¤¹¤ë¤Î¤Ï, ̵Íý¤¬¤¢¤ë¤è¤¦¤Ç¤¢¤ë. ¥Æ¡¼¥Ö¥ë¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ë¤Ç¤¢¤í¤¦.)





Nobuki Takayama Ê¿À®28ǯ8·î27Æü