=================================================================== RCS file: /home/cvs/OpenXM/doc/Attic/genkou19991125.tex,v retrieving revision 1.68 retrieving revision 1.78 diff -u -p -r1.68 -r1.78 --- OpenXM/doc/Attic/genkou19991125.tex 1999/12/24 08:56:45 1.68 +++ OpenXM/doc/Attic/genkou19991125.tex 1999/12/24 21:01:21 1.78 @@ -1,13 +1,14 @@ \documentclass{jarticle} -%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.67 1999/12/24 08:08:48 tam Exp $ +%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.77 1999/12/24 19:59:39 tam Exp $ \usepackage{jssac} \title{ 1. °ÕÌ£¤â¤Ê¤¤½¤¾þ²á¾ê¤Ê¸ì¶ç¤ÏÇÓ½ü¤·¤Þ¤·¤ç¤¦¡£\\ -2. À«¤È̾¤Î´Ö¤Î2¥Ð¥¤¥È¤Î¶õÇò¤Ï²¿¤«Íýͳ¤¬¤¢¤ë¤Î? -(jssac ¤Îµ¬Ìó¤À¤Ã¤±)\\ -3. ¤»¤Ã¤«¤¯ fill ¤·¤Æ¤¤¤ë¤Î¤ò¤¤¤¸¤é¤Ê¤¤¤Ç¤¯¤ì¡£ +2. ¤»¤Ã¤«¤¯ fill ¤·¤Æ¤¤¤ë¤Î¤ò¤¤¤¸¤é¤Ê¤¤¤Ç¤¯¤ì¡£\\ +3. Åļ¤¬Í·¤ó¤Ç¤Ð¤«¤ê¤Ç¤ª¤ì¤Ð¤«¤ê»Å»ö¤ò¤·¤Æ¤¤¤ë¤Î¤Ï¤É¤¦¹Í¤¨¤Æ¤âÉÔ¸øÊ¿¤À¡£ +¤Ê¤ó¤Ç»Å»ö¤ò¤·¤Ê¤¤¤Î¤«¡¢¤¤¤¤²Ã¸º»Å»ö¤ò¤·¤í¡¢Åļ¡£ +%¢¬¤¹¤ß¤Þ¤»¤ó¡¢²È¤Ç¸æÈÓ¿©¤Ù¤Æ¤Þ¤·¤¿¡£ } \author{±ü ë ¡¡ ¹Ô ±û\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} @@ -95,8 +96,10 @@ OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥ \end{verbatim} ¥Ü¥Ç¥£¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¡£ -¤³¤ÎÏÀʸ¤Ç¤Ï OX\_DATA ¤È \\ -OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß¡¢ÀâÌÀ¤¹¤ë¡£ +¥¿¥°¤¬ OX\_COMMAND ¤È¤Ê¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ç¤¢¤ê¡¢ +¤½¤ì°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤Ï²¿¤é¤«¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¤·¤Æ¤¤¤ë¡£ +¤³¤ÎÏÀʸ¤Ç¤Ï OX\_DATA ¤È OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë +¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß¡¢ÀâÌÀ¤¹¤ë¡£ ´û¸¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ÏÂбþ¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢¿·¤·¤¤¼±Ê̻ҤòÄêµÁ¤¹¤ë¤³¤È¤Ç¿·¤· ¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢¤Î @@ -109,76 +112,55 @@ OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë¡ Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼ ¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷ ¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ -ÆÀ¤é¤ì¤ë¡£ +ÆÀ¤é¤ì¤ë¡£¤³¤Î¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¼çƳ¤Ç¹Ô¤ï¤ì¤ë¡£¤Ä¤Þ¤ê¡¢ +¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Í³¤Ë¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð¤ËÁ÷ÉÕ¤·¤Æ¤â¤è¤¤¤¬¡¢¥µ¡¼¥Ð¤«¤é¤Ï¼« +ȯŪ¤Ë¥á¥Ã¥»¡¼¥¸¤¬Á÷ÉÕ¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£¤³¤Î¸¶Íý¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó +¤Ç¤¢¤ë¤³¤È¤Ç¼Â¸½¤µ¤ì¤ë¡£¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ¤Ï \ref{sec:oxsm} Àá +¤Ç½Ò¤Ù¤ë¡£ -¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¡£¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥á¥Ã¥»¡¼ -¥¸¤Ï¡¢¥¿¥°¤¬ OX\_COMMAND ¤Ç¤Ê¤±¤ì¤Ð¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£¥¿¥°¤¬ -OX\_COMMAND ¤È¤Ê¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ç¤¢¤ê¡¢¤³¤Î¥á¥Ã -¥»¡¼¥¸¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤Ï¤½¤ì¤ËÂбþ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦¤³¤È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¡£ +¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È(¤Ä¤Þ¤ê OX\_COMMAND ¤Ç¤Ê¤¤ +¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá +(OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤ÏÌ¿Îá¤ËÂÐ +±þ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦¡£¤³¤Î¤È¤­¡¢Ì¿Îá¤Ë¤è¤Ã¤Æ¤Ï¥¹¥¿¥Ã¥¯¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è +¤ê½Ð¤¹¤³¤È¤¬¤¢¤ê¡¢¤Þ¤¿(³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ç¤Î)·×»»·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤¬ +¤¢¤ë¡£¤â¤·¡¢Í¿¤¨¤é¤ì¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤¤Ê¤É¤ÎÍýͳ¤Ç¥¨¥é¡¼¤¬À¸¤¸¤¿¾ì¹ç¤Ë +¤Ï¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ·×»»·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÆÀ +¤ë¾ì¹ç¤Ë¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îá SM\_popCMO ¤Þ¤¿¤Ï SM\_popString ¤ò¥µ¡¼¥Ð +¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤³¤ì¤é¤ÎÌ¿Îá¤ò¼õ¤±¼è¤Ã¤Æ¤Ï¤¸¤á¤Æ¡¢¥µ¡¼¥Ð¤«¤é¥¯¥é +¥¤¥¢¥ó¥È¤Ø¥á¥Ã¥»¡¼¥¸¤¬Á÷¤é¤ì¤ë¡£ -%{\large\bf °ÕÌ£ÉÔÌÀ¤Ê½ñ¤­Êý¤À¤±¤É¡¢} -¥µ¡¼¥Ð¤Ï¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤é¤Ê¤¤¸Â¤ê¡¢¼«¤é²¿¤«Æ°ºî¤ò¹Ô¤Ê¤ª¤¦¤È¤Ï¤·¤Ê¤¤¡£ -¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤¬Ëè²ó¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¤¿¤Ó¤Ë¡¢ -¤¤¤Ä¤â¥µ¡¼¥Ð¤«¤é¤Î¥á¥Ã¥»¡¼¥¸¤òÂÔ¤ÄɬÍפ¬¤Ê¤¤¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ -¤³¤Î¤¿¤á¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥µ¡¼¥Ð¤Î¾õÂÖ¤òµ¤¤Ë¤»¤º¤Ë¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¡¢ -°ìö¥á¥Ã¥»¡¼¥¸¤òÁ÷ÉÕ¤·½ª¤¨¤¿¸å¡¢ -Á÷¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤Î·ë²Ì¤ò¥µ¡¼¥Ð¤«¤éÂԤĤ³¤È¤Ê¤·¤Ë¼¡¤ÎÆ°ºî¤Ë°Ü¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ +{\Huge °Ê²¼¡¢½ñ¤­Ä¾¤·} -\section{OpenXM ¤Î·×»»¤Î¿Ê¹ÔÊýË¡} +¤Þ¤È¤á¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¡¢ +·×»»¤Î·ë²Ì¤òÆÀ¤ë¤È¤¤¤¦¼ê½ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¡£ -%Á°¤ÎÀá¤È½ÅÊ£¤·¤Æ¤¤¤ë¤Î¤Ç¤â¤¦¾¯¤·¤Á¤ã¤ó¤È¹Í¤¨¤ÆÍߤ·¤¤¤Î¤À¤±¤ì¤É¡¢ - -Á°Àá¤ÎÀâÌÀ¤Ç¤ï¤«¤ë¤è¤¦¤Ë¡¢ -¥µ¡¼¥Ð¤Ï¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î»Ø¼¨¤Ê¤·¤Ë¡¢ -¼«¤é¥á¥Ã¥»¡¼¥¸¤òÁ÷¤é¤Ê¤¤¡£ -%(Îã³°? ox\_asir ¤Î mathcap)¡£ - - -¤³¤ÎÊդϥ¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¤È¤³¤í¤Ë½ñ¤³¤¦¡£ - - -¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£ -¼¡¤¤¤Ç¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤òÁ÷¤ë¤È¡¢ -½é¤á¤Æ¥µ¡¼¥Ð¤Ï¥Ç¡¼¥¿¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà°Ê³°¤Î¤Ê¤ó¤é¤«¤ÎÆ°ºî¤ò¹Ô¤Ê¤¦¡£ -¤³¤Î¤È¤­¡¢É¬Íפ¬¤¢¤ì¤Ð¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤éɬÍפʤÀ¤±¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¡£ -¤³¤³¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÌ¿Îá¤Ë¤è¤ëÆ°ºîÃæ¤Ë¤¿¤È¤¨¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤È¤·¤Æ¤â -¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà¤À¤±¤Ç¡¢ -ÌÀ¼¨¤µ¤ì¤Ê¤¤¸Â¤ê¥¨¥é¡¼¤¹¤é¤â¥¯¥é¥¤¥¢¥ó¥È¤ØÊÖ¤µ¤Ê¤¤¤³¤È¤Ë -Ãí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ - -·ë²Ì¤¬À¸¤¸¤ëÆ°ºî¤ò¥µ¡¼¥Ð¤¬¹Ô¤Ê¤Ã¤¿¾ì¹ç¡¢ -¥µ¡¼¥Ð¤ÏÆ°ºî¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -¥µ¡¼¥Ð¤Ë¹Ô¤Ê¤ï¤»¤¿Æ°ºî¤Î·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÃΤꤿ¤¤¾ì¹ç¡¢ -¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¤ò¥µ¡¼¥Ð¦¤ØÁ÷¤ì¤Ð¤è¤¤¡£ - -%{\Huge °Ê²¼¡¢½ñ¤­Ä¾¤·} - -¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¡¢ -·×»»¤Î·ë²Ì¤òÆÀ¤ë¤È¤¤¤¦¼ê½ç¤òÄɤäƤ¤¤¯¤È¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ - \begin{enumerate} -\item ¤Þ¤º¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¡£ - ¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤­¤¿¥á¥Ã¥»¡¼¥¸¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -\item ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤òÁ÷¤ë¤È¡¢ - ¥µ¡¼¥Ð¤ÏɬÍפʤÀ¤±¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢ - ¼Â¹Ô¤·¤¿·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -\item ºÇ¸å¤Ë¡Ö¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¡×¤ò - ¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤é·×»»·ë²Ì¤ÎÆþ¤Ã¤Æ¤¤¤ë - ¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ +\item +¤Þ¤º¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥ª¥Ö¥¸¥§¥¯¥È¤òÁ÷¤ë¡£¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤­¤¿¥ª¥Ö +¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +\item +¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿Îá¤òÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤ÏɬÍפʤÀ¤±¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿ +¤ò¼è¤ê½Ð¤·¡¢¼Â¹Ô¤·¤¿·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +%¤Ã¤Æ½ñ¤¤¤Æ¤ë¤±¤É¡¢Ì¿Î᤬SM\_popCMO ¤È¤« SM\_shutdown ¤Î¾ì¹ç¤Ï? +\item +ºÇ¸å¤Ë SM\_popCMO ¤â¤·¤¯¤Ï SM\_popString ¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢ +¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤é·×»»·ë²Ì¤ÎÆþ¤Ã¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢ +¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ \end{enumerate} -\section{OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó} +\section{OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó}\label{sec:oxsm} + OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤¤¤ë¡£°Ê²¼¡¢OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¸Æ¤Ö¡£¤³¤ÎÀá¤Ç¤ÏOpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ ¤·¤è¤¦¡£ -¤µ¤Æ¡¢OpenXM µ¬Ìó¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Þ¤Ç¤Ïµ¬Äꤷ¤Ê¤¤¡£ -¤Ä¤Þ¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ç -¤¢¤ë¡£OpenXM µ¬Ìó¤ÏÄÌ¿®»þ¤Ë¤ä¤ê¤È¤ê¤µ¤ì¤ë¶¦Ä̤Υǡ¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äê -¤¹¤ë¤¬¡¢OpenXM µ¬Ìó¤ËÂбþ¤·¤¿³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ï¡¢ÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã -¤¿ºÝ¤Ë¡¢³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Î¸ÇÍ­¤Î¥Ç¡¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È -¤ò°ÕÌ£¤¹¤ë¡£¤³¤ÎÊÑ´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤¡£ +¤Þ¤º¡¢OpenXM µ¬Ìó¤ÏÄÌ¿®»þ¤Ë¤ä¤ê¤È¤ê¤µ¤ì¤ë¶¦Ä̤Υǡ¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äê +¤¹¤ë¤¬¡¢OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬¥¹¥¿¥Ã¥¯¤ËÀѤࡢ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Þ¤Ç¤Ï +µ¬Äꤷ¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë +¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¤³¤Î¤³¤È¤ÏÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿ºÝ¤Ë¡¢³Æ¿ô³Ø¥·¥¹ +¥Æ¥à¤¬¸ÇÍ­¤Î¥Ç¡¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤ò°ÕÌ£¤¹¤ë¡£¤³¤ÎÊÑ +´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤¡£ ¼¡¤Ë OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£OpenXM ¥¹¥¿¥Ã¥¯ ¥Þ¥·¥ó¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤ÎÌ¿Îá¤Ï4¥Ð¥¤¥È¤ÎŤµ¤ò»ý¤Ä¡£OpenXM µ¬Ìó¤Î¾¤Îµ¬Äê¤È @@ -187,130 +169,222 @@ OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤ ¤È¤Ï¤Ê¤¤¡£¸½ºß¤Î¤È¤³¤í¡¢OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤ÎÌ¿Î᤬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ \begin{verbatim} -#define SM_popSerializedLocalObject 258 -#define SM_popCMO 262 -#define SM_popString 263 +#define SM_popSerializedLocalObject 258 +#define SM_popCMO 262 +#define SM_popString 263 -#define SM_mathcap 264 -#define SM_pops 265 -#define SM_setName 266 -#define SM_evalName 267 -#define SM_executeStringByLocalParser 268 -#define SM_executeFunction 269 -#define SM_beginBlock 270 -#define SM_endBlock 271 -#define SM_shutdown 272 -#define SM_setMathCap 273 -#define SM_executeStringByLocalParserInBatchMode 274 -#define SM_getsp 275 -#define SM_dupErrors 276 +#define SM_mathcap 264 +#define SM_pops 265 +#define SM_setName 266 +#define SM_evalName 267 +#define SM_executeStringByLocalParser 268 +#define SM_executeFunction 269 +#define SM_beginBlock 270 +#define SM_endBlock 271 +#define SM_shutdown 272 +#define SM_setMathCap 273 +#define SM_executeStringByLocalParserInBatchMode 274 +#define SM_getsp 275 +#define SM_dupErrors 276 -#define SM_DUMMY_sendcmo 280 -#define SM_sync_ball 281 +#define SM_DUMMY_sendcmo 280 +#define SM_sync_ball 281 -#define SM_control_kill 1024 -#define SM_control_reset_connection 1030 -#define SM_control_to_debug_mode 1025 -#define SM_control_exit_debug_mode 1026 -#define SM_control_ping 1027 -#define SM_control_start_watch_thread 1028 -#define SM_control_stop_watch_thread 1029 +#define SM_control_kill 1024 +#define SM_control_to_debug_mode 1025 +#define SM_control_exit_debug_mode 1026 +#define SM_control_ping 1027 +#define SM_control_start_watch_thread 1028 +#define SM_control_stop_watch_thread 1029 +#define SM_control_reset_connection 1030 \end{verbatim} -°Ê²¼¡¢¤É¤¦¤¤¤¦¤È¤­¤Ë·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤफ¥¨¥é¡¼¤Î¾ì¹ç¤É¤¦¤¹¤ë¤«¤ÎÀâÌÀ¤¬ -ɬÍפǤ¢¤í¤¦¡£ +%°Ê²¼¡¢¤É¤¦¤¤¤¦¤È¤­¤Ë·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤफ¥¨¥é¡¼¤Î¾ì¹ç¤É¤¦¤¹¤ë¤«¤ÎÀâÌÀ¤¬ +%ɬÍפǤ¢¤í¤¦¡£ -\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤} +¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤ÎÃæ¤Ë¤Ï¼Â¹Ô¤Ë¤è¤Ã¤Æ·ë²Ì¤¬Ê֤äƤ¯¤ë¤â¤Î¤¬¤¢¤ë¡£ +·ë²Ì¤¬Ê֤äƤ¯¤ëÌ¿Îá¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï¤½¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +¤¿¤È¤¨¤Ð¡¢ SM\_executeStringByLocalParser ¤Ï +¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò +¥µ¡¼¥Ð¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤È¤ß¤Ê¤·¤Æ·×»»¤ò¹Ô¤Ê¤¦¤¬¡¢ +¹Ô¤Ê¤Ã¤¿·×»»¤Î·ë²Ì¤Ï¥í¡¼¥«¥ë¸À¸ì¤Çµ­½Ò¤·¤¿Ê¸»úÎó¤Ç¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£ +¤Ê¤ª¡¢Ì¿Îá¤Î¼Â¹ÔÃæ¤Ë¥¨¥é¡¼¤¬µ¯¤³¤ê¡¢·ë²Ì¤¬ÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ +¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£ + +\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤}\label{sec:cmo} + OpenXM µ¬Ìó¤Ç¤Ï¡¢¿ô³ØŪ¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ëÊýË¡¤È¤·¤Æ CMO ·Á¼°(Common Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¤³¤Î CMO ·Á¼°¤Ë¤·¤¿¤¬¤Ã¤¿¥Ç¡¼ ¥¿¤Ï¡¢¼±Ê̻Ҥ¬ OX\_DATA ¤Ç¤¢¤ë¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤Ë¤Ê¤ë¤³¤È¤òÁÛÄꤷ ¤Æ¤¤¤ë¡£ CMO ·Á¼°¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¹½Â¤¤Ï¼¡¤Î¤è¤¦¤Ê¹½Â¤¤ò¤â¤Ä¡£ -\begin{verbatim} -¥Ø¥Ã¥À ¥Ü¥Ç¥£ -\end{verbatim} -¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë¡£ -¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬¡¢0¤Ç¤â¤è¤¤¡£ -\begin{verbatim} -ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ -ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ -ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ -ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ -\end{verbatim} +\begin{tabular}{|c|c|} \hline +¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline +\end{tabular} +¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë¡£¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬¡¢ +0¤Ç¤â¤è¤¤¡£ -%OpenXM µ¬Ìó¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤ò¼ÂºÝ¤ËºîÀ®¤¹¤ë¾ì¹ç¡¢ -CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¿ÇÜĹÀ°¿ô¤òÍý²ò¤·¤Æ¤ª¤¯¤È¡¢ -CMO ·Á¼°¤Î¾¤Î¥Ç¡¼¥¿¹½Â¤¤À¤±¤Ç¤Ê¤¯¡¢ -OpenXM µ¬Ìó¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëÍÍ¡¹¤Ê¥Ç¡¼¥¿¹½Â¤¤òÍý²ò¤¹¤ë½õ¤±¤Ë¤Ê¤ë¤È»×¤¨¤ë¤Î¤Ç¡¢ -¤³¤³¤Ç¤Ï CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë¡£ +¥á¥Ã¥»¡¼¥¸¤ÈƱÍͤ˥إåÀ¤Ï4¥Ð¥¤¥Èñ°Ì¤Ë´ÉÍý¤µ¤ì¤ë¡£¤¹¤Ê¤ï¤Á¡¢CMO ¤Ç¤Ï¥Ø¥Ã +¥À¤Ï°ì¤Ä¤À¤±¤Î¾ðÊó¤ò´Þ¤à¡£¤³¤Î4¥Ð¥¤¥È¤Î¥Ø¥Ã¥À¤Î¤³¤È¤ò¥¿¥°¤È¤â¤¤¤¦¡£¤µ¤Æ¡¢ +CMO ¤Ç¤Ï¡¢¥¿¥°¤Ë¤è¤Ã¤Æ¥Ü¥Ç¥£¤ÎÏÀÍýŪ¹½Â¤¤¬·èÄꤹ¤ë¡£¤¹¤Ê¤ï¤Á¡¢¥¿¥°¤Ï¤½¤ì +¤¾¤ì¤Î¥Ç¡¼¥¿¹½Â¤¤È1ÂÐ1¤ËÂбþ¤¹¤ë¼±Ê̻ҤǤ¢¤ë¡£¤½¤ì¤¾¤ì¤ÎÏÀÍýŪ¹½Â¤¤Ï +\cite{OpenXM-1999} ¤Ë¾Ü½Ò¤µ¤ì¤Æ¤¤¤ë¡£¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤Î CMO ¤¬ +ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ -CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤Ï¿ÇÜĹÀ°¿ô°Ê³°¤Ë¤â -ʸ»úÎó¤ä¥ê¥¹¥È¹½Â¤¤Ê¤É¤¬¤¢¤ë¡£¤É¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤Ç¤¢¤ë¤«¤Ï -¥Ç¡¼¥¿¤ÎÀèƬ 4 ¥Ð¥¤¥È¤Ë¤¢¤ë(¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻ҤȤÏÊ̤ˤ¢¤ë)¥¿¥°¤ò¸«¤ì¤Ð -ȽÊ̤Ǥ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤³¤ì¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ÎȽÊ̤λÅÊý¤È¤ª¤Ê¤¸¤Ç¤¢¤ë¡£ -¤Ê¤ª¡¢¥¿¥°¤Ï³Æ¥Ç¡¼¥¿Ëè¤Ë 32 bit ¤ÎÀ°¿ô¤Çɽ¤µ¤ì¤Æ¤ª¤ê¡¢ -¿ÇÜĹÀ°¿ô¤Ï 20 ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤è¤¯»È¤ï¤ì¤ë¤È»×¤ï¤ì¤ë CMO ·Á¼°¤Î¥¿¥°¤ò¤¢¤²¤Æ¤ª¤¯¡£ \begin{verbatim} -#define CMO_INT32 2 /* 32 ¥Ó¥Ã¥ÈÀ°¿ô */ -#define CMO_STRING 4 /* ʸ»úÎó */ -#define CMO_MATHCAP 5 /* mathcap(¸å½Ò) */ -#define CMO_LIST 17 /* ¥ê¥¹¥È¹½Â¤ */ -#define CMO_ZZ 20 /* ¿ÇÜĹÀ°¿ô */ +#define CMO_ERROR2 0x7f000002 +#define CMO_NULL 1 +#define CMO_INT32 2 +#define CMO_DATUM 3 +#define CMO_STRING 4 +#define CMO_MATHCAP 5 + +#define CMO_START_SIGNATURE 0x7fabcd03 +#define CMO_ARRAY 16 +#define CMO_LIST 17 +#define CMO_ATOM 18 +#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_RECURSIVE_POLYNOMIAL 27 +#define CMO_LIST_R 28 + +#define CMO_INT32COEFF 30 +#define CMO_DISTRIBUTED_POLYNOMIAL 31 +#define CMO_POLYNOMIAL_IN_ONE_VARIABLE 33 +#define CMO_RATIONAL 34 + +#define CMO_64BIT_MACHINE_DOUBLE 40 +#define CMO_ARRAY_OF_64BIT_MACHINE_DOUBLE 41 +#define CMO_128BIT_MACHINE_DOUBLE 42 +#define CMO_ARRAY_OF_128BIT_MACHINE_DOUBLE 43 + +#define CMO_BIGFLOAT 50 +#define CMO_IEEE_DOUBLE_FLOAT 51 + +#define CMO_INDETERMINATE 60 +#define CMO_TREE 61 +#define CMO_LAMBDA 62 \end{verbatim} -¤³¤³¤Ç 32 bit ¤ÎÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ëɬÍפ¬¤¢¤ë¡£ -OpenXM µ¬Ìó¤Ç¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç 32 bit ¤ÎÀ°¿ô 20 ¤ò -{\tt 00 00 00 14} ¤Èɽ¤¹ÊýË¡¤È {\tt 14 00 00 00} ¤Èɽ¤¹ÊýË¡¤¬¤¢¤ë¡£ -¤³¤Îɽ¸½ÊýË¡¤Î°ã¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎºÇ½é¤ÎÀܳ»þ¤Ë -ÁÐÊý¤Î¹ç°Õ¤Ç·èÄꤹ¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤Ê¤ª¡¢¹ç°Õ¤¬¤Ê¤¤¾ì¹ç¤Ë¤ÏÁ°¼Ô¤Îɽ¸½ÊýË¡ -(°Ê¸å¡¢¤³¤Îɽ¸½ÊýË¡¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤È¸Æ¤Ö)¤ò -»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤Þ¤¿¡¢Éé¤Î¿ô¤òɽ¸½¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¤Ï¡¢ -2 ¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +¤³¤ÎÃæ¤Ç CMO\_ERROR2, CMO\_NULL, CMO\_INT32, CMO\_DATUM, CMO\_STRING, +CMO\_MATHCAP, CMO\_LIST ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÏºÇ¤â´ðËÜŪ¤Ê¥ª¥Ö¥¸¥§ +¥¯¥È¤Ç¤¢¤Ã¤Æ¡¢¤¹¤Ù¤Æ¤Î OpenXM Âбþ¥·¥¹¥Æ¥à¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Ï¡¢ Gnu MP¥é¥¤¥Ö¥é¥êÅù¤ò»²¹Í¤Ë¤·¤Æ¤ª¤ê¡¢ -Éä¹çÉÕ¤­ÀäÂÐÃÍɽ¸½¤òÍѤ¤¤Æ¤¤¤ë¡£ -¥¿¥°°Ê¹ß¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ +¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Î²òÀâ¤ò¹Ô¤¦Á°¤Ëµ­Ë¡¤Ë¤Ä¤¤¤Æ¡¢¾¯¤·ÀâÌÀ¤·¤Æ¤ª¤¯¡£ +¤³¤ÎÏÀʸ¤Ç¤Ï¡¢Âçʸ»ú¤Ç CMO\_INT32 ¤È½ñ¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢¾åµ­¤ÇÄêµÁ¤·¤¿¼±ÊÌ»Ò +¤òɽ¤ï¤¹¡£¤Þ¤¿ CMO\_INT32 ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹(¤¢¤ë¤¤¤Ï¥Ç¡¼ +¥¿¹½Â¤)¤ò cmo\_int32 ¤È¾®Ê¸»ú¤Çɽ¤ï¤¹¤³¤È¤Ë¤¹¤ë¡£ -\begin{tabular}{|c|c|c|c|c|} \hline -$f$ & $b_0$ & $b_1$ & $\cdots$ & $b_{n-1}$ \\ \hline -\end{tabular} +¤µ¤Æ cmo ¤òɽ¸½¤¹¤ë¤¿¤á¤Î°ì¤Ä¤Îµ­Ë¡¤òƳÆþ¤¹¤ë¡£¤³¤Îµ­Ë¡¤Ï CMO expression +¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡£¤½¤ÎÀµ³Î¤Ê·Á¼°ÅªÄêµÁ¤Ï \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È¡£ -¤³¤³¤Ç¡¢ 1 ¤Ä¤ÎÏÈ¤Ï 4 ¥Ð¥¤¥È¤òɽ¤·¡¢ -$f$ ¤ÏÉä¹çÉÕ¤­ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò¡¢ -$b_0$, $b_1$, $\cdots$, $b_{n-1}$ ¤ÏÉä¹ç¤Ê¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤òɽ¤·¤Æ¤¤¤ë¡£ -¤µ¤é¤Ë¡¢ $|f| = n$ ¤¬À®¤êΩ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï -\[ \mbox{sgn}(f) \times \{ b_0 (2^{32})^0 + b_1 (2^{32})^1 + \cdots - + b_{n-1} (2^{32})^{n-1} \} \] -¤È¤¤¤¦À°¿ô¤Ç¤¢¤ë¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ -¤¿¤À¤·¡¢ -\[ \mbox{sgn}(f) = \left\{ \begin{array}{ll} - 1 & f>0 \\ - 0 & f=0 \\ - -1 & f<0 \\ \end{array} \right. \] -¤Ç¤¢¤ë¡£ +¤Þ¤º CMO expssion ¤Ï Lisp É÷ɽ¸½¤Î°ì¼ï¤Ç¡¢ cmo ¤ò³ç¸Ì¤Ç°Ï¤ó¤À¥ê¥¹¥È¤È¤· +¤Æɽ¸½¤¹¤ë¡£¤½¤ì¤¾¤ì¤ÎÍ×ÁǤϥ«¥ó¥Þ¤Ç¶èÀڤ롣 +Î㤨¤Ð¡¢ +\begin{quote} +(17, {\sl int32}, (CMO\_NULL), (2, {\sl int32} $n$)) +\end{quote} +¤Ï CMO expression ¤Ç¤¢¤ë¡£¤³¤³¤Ç¡¢¾®Ê¸»ú¤Î¼ÐÂΤÇɽ¤µ¤ì¤¿``{\sl int32}'' +¤Ï 4¥Ð¥¤¥È¤ÎǤ°Õ¤Î¥Ç¡¼¥¿¤òɽ¤¹µ­¹æ¤Ç¤¢¤ê¡¢``{\sl int32} $n$'' ¤ÏƱ¤¸¤¯ 4 +¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤¬°Ê²¼¤ÎÀâÌÀ¤Ç $n$ ¤Èɽ¤¹¤³¤È¤ò¼¨¤¹¡£¤Þ¤¿¿ô»ú 17, 2 +¤Ê¤É¤Ï 4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ÇÀ°¿ôÃͤȤ·¤Æ¤ß¤¿¤È¤­¤ÎÃͤò°ÕÌ£¤¹¤ë¡£CMO\_NULL ¤Ï +¼±ÊÌ»Ò(¤¹¤Ê¤ï¤Á¿ô»ú 1 ¤ÈÅù²Á)¤Ç¤¢¤ë¡£¤³¤Îµ­Ë¡¤«¤é¾åµ­¤Î¥Ç¡¼¥¿¤Ï 20 ¥Ð¥¤ +¥È¤ÎÂ礭¤µ¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤¬Ê¬¤«¤ë¡£ +¤Ê¤ª¡¢¤³¤Î¥Ç¡¼¥¿¤Ï CMO ¤Ç¤Ï¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤¡£ +%¤Ê¤ª¡¢ CMO expression ¤Çɽ¸½¤Ç¤­¤Æ¤¤¤Æ¤â¡¢ +%¤½¤ì¤¬ CMO ¤Ç¤¢¤ë¤³¤È¤È¤Ï̵´Ø·¸¤Ç¤¢¤ë¡£ -¤³¤³¤Ç¶ñÂÎÎã¤ò¤À¤½¤¦¡£ -$4294967298 = 1 \times 2^{32} + 2$ ¤ò CMO ·Á¼°¤Î -¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¡¢Â¿ÇÜĹÀ°¿ô¤Çɽ¸½¤¹¤ë¤È¡¢ -\begin{center} - {\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} -\end{center} -¤È¤Ê¤ë¡£¤Þ¤¿¡¢Æ±¤¸É½¸½ÊýË¡¤Ç $-1$ ¤òɽ¸½¤¹¤ë¤È¡¢ -\begin{center} - {\tt 00 00 00 14 ff ff ff ff 00 00 00 01} -\end{center} -¤È¤Ê¤ë¡£ +¤µ¤Æ¡¢¤³¤Îµ­Ë¡¤Î¤â¤È¤Ç cmo\_int32 ¤ò¼¡¤Î¥Ç¡¼¥¿¹½Â¤¤ò»ý¤Ä¤ÈÄêµÁ¤¹¤ë¡£ +\begin{quote} +cmo\_int32 := (CMO\_INT32, {\sl int32} $a$) +\end{quote} +%{\Huge ƱÍÍ¤Ë cmo\_string, cmo\_list ¤Ê¤É¤òÄêµÁ} +¤³¤ì¤Ï CMO ¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô $a$ ¤òɽ¤¹¡£ +¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤âÄêµÁ¤¹¤ë¤¿¤á¤Ë¡¢ +°Ê¸å ``{\sl string} $s$'' ¤òʸ»úÎó $s$ ¡¢ +``{\sl cmo} $ob$'' ¤ò CMO ¤Î $ob$ ¤È¤¹¤ë¡£ +¤³¤ì¤òÍѤ¤¤Æ¡¢ cmo\_string, cmo\_list ¤òÄêµÁ¤¹¤ë¡£ + +\begin{quote} +cmo\_string := (CMO\_STRING, {\sl int32} $len$, {\sl string} $str$) \\ +cmo\_list := (CMO\_LIST, {\sl int32} $n$, {\sl cmo} $ob_1$, + {\sl cmo} $ob_2$, $\cdots$,{\sl cmo} $ob_n$) +\end{quote} + +¤³¤ì¤Ï¤½¤ì¤¾¤ìŤµ $len$ ¤Îʸ»úÎó $str$ ¤È¡¢ +$ob_1$, $ob_2$, $\cdots$, $ob_n$ ¤«¤é¤Ê¤ëŤµ $n$ ¤Î¥ê¥¹¥È¤òɽ¤¹¡£ + + +% ¤³¤³¤Ç 32 bit ¤ÎÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤Æ¿¨¤ì¤Æ¤ª¤¯¡£ +% OpenXM µ¬Ìó¤Ç¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç 32 bit ¤ÎÀ°¿ô 20 ¤ò +% {\tt 00 00 00 14} ¤Èɽ¤¹ÊýË¡¤È {\tt 14 00 00 00} ¤Èɽ¤¹ÊýË¡¤¬¤¢¤ë¡£ +% ¤³¤Îɽ¸½ÊýË¡¤Î°ã¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎºÇ½é¤ÎÀܳ»þ¤Ë +% ÁÐÊý¤Î¹ç°Õ¤Ç·èÄꤹ¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +% ¤Ê¤ª¡¢¹ç°Õ¤¬¤Ê¤¤¾ì¹ç¤Ë¤ÏÁ°¼Ô¤Îɽ¸½ÊýË¡ +% (°Ê¸å¡¢¤³¤Îɽ¸½ÊýË¡¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤È¸Æ¤Ö)¤ò +% »È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +% ¤Þ¤¿¡¢Éé¤Î¿ô¤òɽ¸½¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¤Ï¡¢ +% 2 ¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ + +% Àè¤Û¤É¤Î¡¢ (CMO\_INT32, 123456789) ¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Ç +% ¥Ð¥¤¥ÈÎó¤Ëľ¤¹¤È¡¢ +% \begin{center} +% {\tt 00 00 00 02 07 5b cd 15} +% \end{center} +% ¤È¤Ê¤ê¡¢ +% (CMO\_STRING, 6, ``OpenXM'') ¤Ï +% \begin{center} +% {\tt 00 00 00 04 00 00 00 06 4f 70 65 6e 58 4d} +% \end{center} +% ¤È¤Ê¤ë¡£ + +% CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Ï¡¢ Gnu MP¥é¥¤¥Ö¥é¥êÅù¤ò»²¹Í¤Ë¤·¤Æ¤ª¤ê¡¢ +% Éä¹æÉÕ¤­ÀäÂÐÃÍɽ¸½¤òÍѤ¤¤Æ¤¤¤ë¡£ +% ¥¿¥°°Ê¹ß¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ + +% \begin{tabular}{|c|c|c|c|c|} \hline +% $f$ & $b_0$ & $b_1$ & $\cdots$ & $b_{n-1}$ \\ \hline +% \end{tabular} + +% ¤³¤³¤Ç¡¢ 1 ¤Ä¤ÎÏÈ¤Ï 4 ¥Ð¥¤¥È¤òɽ¤·¡¢ +% $f$ ¤ÏÉä¹æÉÕ¤­ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò¡¢ +% $b_0$, $b_1$, $\cdots$, $b_{n-1}$ ¤ÏÉä¹æ¤Ê¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤òɽ¤·¤Æ¤¤¤ë¡£ +% ¤µ¤é¤Ë¡¢ $|f| = n$ ¤¬À®¤êΩ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +% ¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï +% \[ \mbox{sgn}(f) \times \{ b_0 (2^{32})^0 + b_1 (2^{32})^1 + \cdots +% + b_{n-1} (2^{32})^{n-1} \} \] +% ¤È¤¤¤¦À°¿ô¤Ç¤¢¤ë¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ +% ¤¿¤À¤·¡¢ +% \[ \mbox{sgn}(f) = \left\{ \begin{array}{ll} +% 1 & f>0 \\ +% 0 & f=0 \\ +% -1 & f<0 \\ \end{array} \right. \] +% ¤Ç¤¢¤ë¡£ + +% ¤³¤³¤Ç¶ñÂÎÎã¤ò¤À¤½¤¦¡£ +% $4294967298 = 1 \times 2^{32} + 2$ ¤ò CMO ·Á¼°¤Î +% ¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¡¢Â¿ÇÜĹÀ°¿ô¤Çɽ¸½¤¹¤ë¤È¡¢ +% \begin{center} +% {\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} +% \end{center} +% ¤È¤Ê¤ë¡£¤Þ¤¿¡¢Æ±¤¸É½¸½ÊýË¡¤Ç $-1$ ¤òɽ¸½¤¹¤ë¤È¡¢ +% \begin{center} +% {\tt 00 00 00 14 ff ff ff ff 00 00 00 01} +% \end{center} +% ¤È¤Ê¤ë¡£ + + \section{mathcap ¤Ë¤Ä¤¤¤Æ} OpenXM µ¬Ìó¤Ç¤Ï¡¢ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³Æ¥½¥Õ¥È¥¦¥§¥¢¤¬À© @@ -320,63 +394,83 @@ OpenXM µ¬Ìó¤Ç¤Ï¡¢ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ ¤Ï mathcap ¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£¤³¤ÎÀá¤Ç¤Ï mathcap ¤Î¥Ç¡¼ ¥¿¹½Â¤¤È¡¢¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ -¤Þ¤º¡¢¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ -¥¯¥é¥¤¥¢¥ó¥È¦¤Î mathcap ¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢ -¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿ mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤ߾夲¤ë¡£ -¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤³¤È¤Ë¤è¤ê¡¢ -¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¤ò¼è¤ê½Ð¤·¡¢ -mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¦¤Ø -Á÷¤é¤Ê¤¤¤è¤¦¤ËÀßÄꤹ¤ë¡£ -¥µ¡¼¥Ð¦¤Î mathcap ¤¬Íߤ·¤¤¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¡£ -¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë mathcap ¤òÍ׵᤹¤ë¤È¡¢ -¥µ¡¼¥Ð¤Ï¥µ¡¼¥Ð¼«¿È¤Î mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -¤µ¤é¤Ë¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¤òÁ÷¤ì¤Ð¡¢ -¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤Ë¤¢¤ë mathcap ¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ -¤³¤Î¤è¤¦¤Ë¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Ï¥µ¡¼¥Ð¦¤Î mathcap ¤ò¼õ¤±¼è¤ì¤ë¤ï¤±¤Ç¤¢¤ë¡£ +¤Ç¤Ï¡¢¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ +Âè°ì¤Ë¥µ¡¼¥Ð¤Îµ¡Ç½¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤¬ mathcap +¥ª¥Ö¥¸¥§¥¯¥È¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤¬Ì¿Îá SM\_setMathCap ¤òÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì +¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê½Ð¤·¡¢mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê +¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤Ê¤¤¤è¤¦¤ËÀ©¸Â¤ò¹Ô¤¦¡£ + +ÂèÆó¤Ë¥¯¥é¥¤¥¢¥ó¥È¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿ +Îá SM\_mathcap ¤òÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +¤µ¤é¤ËÌ¿Îá SM\_popCMO ¤òÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö¥¸¥§¥¯¥È +(¤¹¤Ê¤ï¤Á mathcap ¥ª¥Ö¥¸¥§¥¯¥È)¤ò¥Ü¥Ç¥£¤È¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë +Á÷ÉÕ¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÀϤ·¤Æ¡¢À©¸Â¤ò¤«¤±¤ë¡£ + ¼¡¤Ë mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ -mathcap ¤Ï CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢ -1 ¤Ä¤Î CMO ·Á¼°¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»ý¤Ä¡£ +mathcap ¤Ï CMO ¤Î°ì¼ï¤Ç¤¢¤ë¤Î¤Ç¡¢¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë \\ +\begin{tabular}{|c|c|} \hline +¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline +\end{tabular} \\ +¤Î¹½Â¤¤ò»ý¤Á¥Ø¥Ã¥À¤ÎÃÍ¤Ï 5 ¤Ç¤¢¤ë(\ref{sec:cmo} Àá¤ò»²¾È¤Î¤³¤È)¡£ +¥Ü¥Ç¥£¤Ï cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï°Ê²¼¤ÇÀâÌÀ¤¹¤ë 3 ¤Ä¤ÎÍ×ÁǤ«¤é¤Ê¤ë¥ê¥¹¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +%\begin{quote} +% cmo\_mathcap := (CMO\_MATHCAP,{\sl cmo} obj) +%\end{quote} -\[ \begin{tabular}{|c|c|c|} \hline - $A$ & $B$ & $C$ \\ \hline - \end{tabular} \] +¤µ¤Æ¡¢mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ü¥Ç¥£¤Î cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ï°Ê²¼¤Î¾ò·ï¤ò +Ëþ¤¿¤¹¤³¤È¤òÍ׵ᤵ¤ì¤ë¡£ -ºÇ½é¤ÎÍ×ÁÇ $A$ ¤ÎÉôʬ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤ª¤ê¡¢ -$a_1$ ¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò¡¢ -$a_2$ ¤Ïʸ»úÎó¤Ç¥·¥¹¥Æ¥à¤Î̾Á°¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +¤Þ¤º¡¢¤½¤Î cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ï¾¯¤Ê¤¯¤È¤â¥ê¥¹¥ÈŤ¬ 3 °Ê¾å¤Ç¤Ê¤±¤ì¤Ð +¤Ê¤é¤Ê¤¤¡£ -\[ \begin{tabular}{|c|c|} \hline - $a_1$ & $a_2$ \\ \hline - \end{tabular} \] +\begin{quote} + (CMO\_LIST, {\sl int32} $3$, + {\sl cmo} $A$, {\sl cmo} $B$, {\sl cmo} $C$) +\end{quote} +%\[ \begin{tabular}{|c|c|c|} \hline +% $A$ & $B$ & $C$ \\ \hline +% \end{tabular} \] +Âè°ìÍ×ÁÇ $A$ ¤Ï¤Þ¤¿ cmo\_list ¤Ç¤¢¤ê¡¢¥ê¥¹¥ÈĹ¤Ï 4 °Ê¾å¡¢ +$a_1$ ¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò¡¢ +$a_2$, $a_3$, $a_4$ ¤Ïʸ»úÎó¤Ç +¤½¤ì¤¾¤ì¥·¥¹¥Æ¥à¤Î̾Á°¡¢¡¢ CPU ¤Î¼ïÎà¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +\begin{quote} + (CMO\_LIST, {\sl int32} $4$, + {\sl cmo\_int32} $a_1$, {\sl cmo\_string} $a_2$, + {\sl cmo\_string} $a_3$, {\sl cmo\_string} $a_4$) +\end{quote} + 2 ÈÖÌܤÎÍ×ÁÇ $B$ ¤ÎÉôʬ¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë¡£ ¤³¤Î $b_1$, $b_2$, $\cdots$, $b_n$ ¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Ç¤¢¤ë¡£ +\ref{sec:oxsm} Àá¤Ç¤ß¤¿¤è¤¦¤Ë¡¢ ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Çɽ¤·¤Æ¤ª¤ê¡¢ ³Æ $b_i$ ¤ÏÍøÍѲÄǽ¤ÊÌ¿Îá¤ËÂбþ¤¹¤ë 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ +\begin{quote} + (CMO\_LIST, {\sl int32} $n$, + {\sl cmo\_int32} $b_1$, {\sl cmo\_int32} $b_2$, + $\cdots$, {\sl cmo\_int32} $b_n$) +\end{quote} -\[ \begin{tabular}{|c|c|c|c|} \hline - $b_1$ & $b_2$ & $\cdots$ & $b_n$ \\ \hline - \end{tabular} \] - 3 ÈÖÌܤÎÍ×ÁÇ $C$ ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë¡£ -\[ \overbrace{ - \begin{tabular}{|c|c|c|c|} \hline - $c_1$ & $c_2$ & $\cdots$ & $c_n$ \\ \hline - \end{tabular} - }^{C} \] -%$n$ ¤Ï OX\_COMMAND °Ê³°¤Î¼õ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥¿¥°¤Î¼ïÎà¤Î¿ô¤ËÅù¤·¤¤¡£ -%Í×ÁÇ¿ô¤Ï 1 ¤Ç¤â¤â¤Á¤í¤ó¹½¤ï¤Ê¤¤¡£ +\begin{quote} + (CMO\_LIST, {\sl int32} $m$, + (CMO\_LIST, {\sl int32} $l_1$, {\sl cmo\_int32} + {\sl cmo} $c_1$, {\sl cmo} $c_2$, $\cdots$, {\sl cmo} $c_m$) +\end{quote} +%%$n$ ¤Ï OX\_COMMAND °Ê³°¤Î¼õ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥¿¥°¤Î¼ïÎà¤Î¿ô¤ËÅù¤·¤¤¡£ +%%Í×ÁÇ¿ô¤Ï 1 ¤Ç¤â¤â¤Á¤í¤ó¹½¤ï¤Ê¤¤¡£ ³Æ $c_i$ ¤â¤Þ¤¿°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ ¤É¤Î $c_i$ ¤âºÇ½é¤ÎÍ×ÁǤ¬ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ -\[ \overbrace{ - \begin{tabular}{|c|c|c|c|c|} \hline - $c_{i1}$ (32 ¥Ó¥Ã¥È¤ÎÀ°¿ô) & $c_{i2}$ & $c_{i3}$ & - $\cdots$ & $c_{im}$ \\ \hline - \end{tabular} - }^{c_i} \] +%\[ \overbrace{ +% \begin{tabular}{|c|c|c|c|c|} \hline +% $c_{i1}$ (32 ¥Ó¥Ã¥È¤ÎÀ°¿ô) & $c_{i2}$ & $c_{i3}$ & +% $\cdots$ & $c_{im}$ \\ \hline +% \end{tabular} +% }^{c_i} \] ¤³¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎÀ°¿ôÃͤϼõ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥¿¥°¤¬Æþ¤Ã¤Æ¤¤¤ë¡£ $c_{i2}$ °Ê¹ß¤Ë¤Ä¤¤¤Æ¤ÏºÇ½é¤Î $c_{i1}$ ¤ÎÃͤˤè¤Ã¤Æ¤½¤ì¤¾¤ì°Û¤Ê¤ë¡£ ¤³¤³¤Ç¤Ï¡¢ºÇ½é¤ÎÍ×ÁǤ¬ OX\_DATA ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë¡£ @@ -405,7 +499,7 @@ $c_{i2}$ ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ %»ý¤Ä¥ê¥¹¥È¹½Â¤¤ò {\tt [$a_1$, $a_2$, $\cdots$, $a_n$]} ¡¢ %ʸ»úÎó ``string'' ¤ò {\tt "string"} ¡¢ 32 bit À°¿ô¤ò %¤½¤ì¤ËÂбþ¤¹¤ë 10 ¿Ê¿ô¤ÎÀ°¿ô¤Ç¼¨¤¹¡£ -̾Á°¤¬ ``ox\_test'' ¡¢¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç¤¢¤ì¤Ð¡¢ +̾Á°¤¬ ``ox\_test''¡¢¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç¤¢¤ì¤Ð¡¢ $A$ ¤ÎÉôʬ¤Ï \begin{tabular}{|c|c|} \hline 199911250 & "ox\_test" \\ \hline @@ -431,20 +525,21 @@ CMO ·Á¼°¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô¡¢Ê¸»úÎó¡¢ mathcap ¡¢¥ê¥¹¥È¹½Â \end{tabular} \\[1.4mm] \hline \end{tabular} \\ ¤È¤Ê¤ë¡£ -CMO\_ZZ ¤¬¤Ê¤¤¤Î¤Ç¡¢¤³¤Î¥µ¡¼¥Ð¤Ï¿ÇÜĹÀ°¿ô¤¬ -Á÷¤é¤ì¤Æ¤³¤Ê¤¤¤³¤È¤ò´üÂÔ¤·¤Æ¤¤¤ë¡£ +CMO\_ZZ ¤¬¤Ê¤¤¤Î¤Ç¡¢¤³¤Î¥µ¡¼¥Ð¤Ï¿ÇÜĹÀ°¿ô¤¬Á÷¤é¤ì¤Æ¤³¤Ê¤¤¤³¤È¤ò´üÂÔ¤·¤Æ +¤¤¤ë¡£ -¤Ê¤ª¡¢¥Ç¡¼¥¿¤¬¼õ¤±¼è¤ì¤ë¤³¤È¤È¡¢ -¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤¬Íý²ò¤Ç¤­¤ë¤³¤È¤È¤Ï¤Þ¤Ã¤¿¤¯ÊÌʪ¤Ç¤¢¤ë¤Î¤Ç -Ãí°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡£ +¤Ê¤ª¡¢¥Ç¡¼¥¿¤¬¼õ¤±¼è¤ì¤ë¤³¤È¤È¡¢¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤¬Íý²ò¤Ç¤­¤ë¤³¤È¤È¤Ï¤Þ¤Ã +¤¿¤¯ÊÌʪ¤Ç¤¢¤ë¤Î¤ÇÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡£ +{\Huge ¤Ã¤Æ¤Ê¤ó¤Ç¤Ç¤·¤ç¤¦¤«? ¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤òÃΤé¤Ê¤¤¤È¼õ¤±¼è¤ì¤Ê¤¤¤È +»×¤¦¤ó¤Ç¤¹¤¬$\ldots$} + \section{¥»¥­¥å¥ê¥Æ¥£Âкö} -OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë¡£ -¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ¡¢ -OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿®»þ¤Î¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë¡£ -°Ê²¼¡¢¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ +OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë¡£¥Í¥Ã¥È¥ï¡¼¥¯ +¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ¡¢OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿® +»þ¤Î¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë¡£°Ê²¼¡¢¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ {\large\bf °ÕÌ£ÉÔÌÀ¤Ê¤³¤È¤ò½ñ¤¤¤Æ¤¤¤ë¤¬¡¢} @@ -462,13 +557,6 @@ OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿®»þ¤Î¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤ ¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï°ìö»ÈÍѤµ¤ì¤ì¤Ð̵¸ú¤Ë¤¹¤ë¤Î¤Ç¡¢ ¤â¤·²¾¤Ë¤Ê¤ó¤é¤«¤Î¼êÃʤǥѥ¹¥ï¡¼¥É¤¬±Ì¤ì¤¿¤È¤·¤Æ¤â°ÂÁ´¤À¤È¹Í¤¨¤Æ¤¤¤ë¡£ -%¤Ê¤ª¡¢¾åµ­¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤Ï°ÂÁ´¤Ê¼êÃʤÇÁ÷¤é¤ì¤Æ -%¤¤¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¡£ -%¤Þ¤¿¡¢Æ±°ì¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ë°­°Õ¤Î¤¢¤ë¥æ¡¼¥¶¤Ï¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ¤¤¤ë -%¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -%¤Ê¤¼¤Ê¤é¡¢¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¥µ¡¼¥Ð¡¢¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤ÎÆ°ºî¤·¤Æ¤¤¤ë -%¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Ï¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤¬¤ï¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¢¤ë¡£ - ¤Ê¤ª¡¢Àܳ¤¬³ÎΩ¤·¤¿¸å¤Î¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿®¤Ë´Ø¤·¤Æ¤Ï¡¢ Æä˰Ź沽¤Ê¤É¤Î½èÃÖ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ ¤â¤·É¬Íפ¬¤¢¤ì¤Ð¡¢ÄÌ¿®Ï©¤Î°Å¹æ²½¤ò¹Ô¤Ê¤¦µ¡Ç½¤¬¤¢¤ë @@ -479,29 +567,22 @@ OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿®»þ¤Î¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤ ¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦¡£ \begin{itemize} -\item OpenMath +\item OpenMath\\ +OpenMath ¥×¥í¥¸¥§¥¯¥È¤Ï¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çɽ¸½¤¹¤ëÊý +Ë¡¤òµ¬Äꤷ¤Æ¤¤¤ë¡£³Æ¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ò´¹¤¹¤ëºÝ¤Î¥ª¥Ö¥¸¥§¥¯ +¥È¤ÎÊÑ´¹¼ê½ç¤Ë¤Ä¤Æ¤âÄê¤á¤é¤ì¤Æ¤¤¤ë¡£É½¸½ÊýË¡¤Ï´ö¤Ä¤«¤ÎÃʳ¬¤ÇÄê¤á¤é¤ì¤Æ +¤¤¤Æ¡¢XML ɽ¸½¤ä¥Ð¥¤¥Ê¥êɽ¸½¤Ê¤É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£¾ÜºÙ¤Ï -OpenMath ¥×¥í¥¸¥§¥¯¥È¤Ï¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò -¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çɽ¸½¤¹¤ëÊýË¡¤ò·èÄꤷ¤Æ¤¤¤ë¡£ -³Æ¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ò´¹¤¹¤ëºÝ¤Î -¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊÑ´¹¼ê½ç¤Ë¤Ä¤¤¤Æ¤â½Ò¤Ù¤é¤ì¤Æ¤¤¤ë¡£ -ɽ¸½ÊýË¡¤Ï°ì¤Ä¤À¤±¤Ç¤Ê¤¯¡¢ XML ɽ¸½¤ä binary ɽ¸½¤Ê¤É¤¬ -ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ -¾ÜºÙ¤Ï +http://www.openmath.org/omsoc/ A.M.Cohen -http://www.openmath.org/omsoc/index.html A.M.Cohen - - \item NetSolve http://www.cs.utk.edu/netsolve/ - \item MP http://symbolicNet.mcs.kent.edu/SN/areas/protocols/mp.html - \item MCP http://horse.mcs.kent.edu/~pwang/ @@ -510,17 +591,14 @@ http://horse.mcs.kent.edu/~pwang/ \section{¸½ºßÄ󶡤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢} -¸½ºß OpenXM µ¬³Ê¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï -asir, sm1, Mathematica ¤¬¤¢¤ë¡£ -¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é -OpenXM µ¬³Ê¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£ -¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï¡¢ - asir, sm1, gnuplot, Mathematica ¤Ê¤É¤¬¤¢¤ê¡¢ -¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, ox\_sm1\_gnuplot, ox\_math -¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ -¤Þ¤¿¡¢ OpenMath µ¬³Ê¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤È CMO ·Á¼°¤Î -¥ª¥Ö¥¸¥§¥¯¥È¤òÊÑ´¹¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢ -OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ +¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ïasir, sm1, Mathematica ¤¬ +¤¢¤ë¡£¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é OpenXM µ¬Ìó¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³¤È +¤¬¤Ç¤­¤ë¡£¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï¡¢asir, +sm1, gnuplot, Mathematica ¤Ê¤É¤¬¤¢¤ê¡¢¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, +ox\_sm1\_gnuplot, ox\_math ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£¤Þ¤¿¡¢ OpenMath +µ¬Ìó¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤È CMO ·Á¼°¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÊÑ´¹¤¹ +¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ +¤ì¤Æ¤¤¤ë¡£ \begin{thebibliography}{99} \bibitem{Ohara-Takayama-Noro-1999}