version 1.68, 1999/12/24 08:56:45 |
version 1.85, 1999/12/25 10:00:48 |
|
|
\documentclass{jarticle} |
\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.84 1999/12/25 09:05:48 tam Exp $ |
|
|
\usepackage{jssac} |
\usepackage{jssac} |
\title{ |
\title{ |
1. °ÕÌ£¤â¤Ê¤¤½¤¾þ²á¾ê¤Ê¸ì¶ç¤ÏÇÓ½ü¤·¤Þ¤·¤ç¤¦¡£\\ |
1. °ÕÌ£¤â¤Ê¤¤½¤¾þ²á¾ê¤Ê¸ì¶ç¤ÏÇÓ½ü¤·¤Þ¤·¤ç¤¦. \\ |
2. À«¤È̾¤Î´Ö¤Î2¥Ð¥¤¥È¤Î¶õÇò¤Ï²¿¤«Íýͳ¤¬¤¢¤ë¤Î? |
2. ¤»¤Ã¤«¤¯ fill ¤·¤Æ¤¤¤ë¤Î¤ò¤¤¤¸¤é¤Ê¤¤¤Ç¤¯¤ì. \\ |
(jssac ¤Îµ¬Ìó¤À¤Ã¤±)\\ |
3. Åļ¤¬Í·¤ó¤Ç¤Ð¤«¤ê¤Ç¤ª¤ì¤Ð¤«¤ê»Å»ö¤ò¤·¤Æ¤¤¤ë¤Î¤Ï¤É¤¦¹Í¤¨¤Æ¤âÉÔ¸øÊ¿¤À. |
3. ¤»¤Ã¤«¤¯ fill ¤·¤Æ¤¤¤ë¤Î¤ò¤¤¤¸¤é¤Ê¤¤¤Ç¤¯¤ì¡£ |
¤Ê¤ó¤Ç»Å»ö¤ò¤·¤Ê¤¤¤Î¤«, ¤¤¤¤²Ã¸º»Å»ö¤ò¤·¤í, Åļ. \\ |
|
3.5 ¤½¤¦¤¤¤¦¤´ÈӤȤ«¤Ä¤Þ¤é¤Ê¤¤Ï两ã¤Ê¤¯¤Æ, commit ¤Î¾ðÊó¤ò¤ß¤ì¤ÐÅļ¤¬ |
|
Ç¡²¿¤Ë»Å»ö¤ò¤·¤Æ¤¤¤Ê¤¤¤Î¤«¤è¤¯¤ï¤«¤ë¤è. \\ |
|
4. ¤¤¤¤²Ã¸º, Section 8 ¤ò½ñ¤±. |
} |
} |
|
|
\author{±ü ë ¡¡ ¹Ô ±û\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} |
\author{±ü ë ¡¡ ¹Ô ±û\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} |
|
|
\and Á° Àî ¡¡ ¾ ½¨\affil{¿À¸ÍÂç³ØÍý³ØÉô} |
\and Á° Àî ¡¡ ¾ ½¨\affil{¿À¸ÍÂç³ØÍý³ØÉô} |
\mail{maekawa@math.sci.kobe-u.ac.jp} |
\mail{maekawa@math.sci.kobe-u.ac.jp} |
} |
} |
\art{} |
%\art{} |
|
|
\begin{document} |
\begin{document} |
\maketitle |
\maketitle |
|
|
\section{OpenXM¤È¤Ï} |
\section{OpenXM¤È¤Ï} |
|
|
OpenXM ¤Ï¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤¿¤á¤Îµ¬Ìó¤Ç¤¢¤ë¡£ |
OpenXM ¤Ï¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤¿¤á¤Îµ¬Ìó¤Ç¤¢¤ë. |
¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ |
¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤¹¤ë¤³¤È¤Ë¤è¤ê, |
¤¢¤ë¿ô³Ø¥×¥í¥»¥¹¤«¤é¾¤Î¿ô³Ø¥×¥í¥»¥¹¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤ò¹Ô¤Ê¤Ã¤¿¤ê¡¢ |
¤¢¤ë¿ô³Ø¥×¥í¥»¥¹¤«¤é¾¤Î¿ô³Ø¥×¥í¥»¥¹¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤ò¹Ô¤Ê¤Ã¤¿¤ê, |
¾¤Î¥Þ¥·¥ó¤Ç·×»»¤ò¹Ô¤Ê¤ï¤»¤¿¤ê¤¹¤ë¤³¤È¤¬ÌÜŪ¤Ç¤¢¤ë¡£ |
¾¤Î¥Þ¥·¥ó¤Ç·×»»¤ò¹Ô¤Ê¤ï¤»¤¿¤ê¤¹¤ë¤³¤È¤¬ÌÜŪ¤Ç¤¢¤ë. |
¤Ê¤ª¡¢ OpenXM ¤È¤Ï Open message eXchange protocol for Mathematics ¤Îά¤Ç¤¢¤ë¡£ |
¤Ê¤ª, OpenXM ¤È¤Ï Open message eXchange protocol for Mathematics ¤Îά¤Ç¤¢¤ë. |
OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê¡¢ |
OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê, |
asir ¤È kan/sm1 ¤òÁê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë¡£ |
asir ¤È kan/sm1 ¤òÁê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë. |
|
|
½é´ü¤Î¼ÂÁõ¤Ç¤Ï¡¢Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤Ã¤Æ¤¤¤¿¡£ |
½é´ü¤Î¼ÂÁõ¤Ç¤Ï, Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤Ã¤Æ¤¤¤¿. |
¤³¤ÎÊýË¡¤Ç¤ÏÁê¼ê¦¤Î¥½¥Õ¥È¤¬ asir ¤Ê¤Î¤« kan/sm1 ¤Ê¤Î¤«¤òȽÊ̤¹¤ë¤Ê¤É¤·¤Æ¡¢ |
¤³¤ÎÊýË¡¤Ç¤ÏÁê¼ê¦¤Î¥½¥Õ¥È¤¬ asir ¤Ê¤Î¤« kan/sm1 ¤Ê¤Î¤«¤òȽÊ̤¹¤ë¤Ê¤É¤·¤Æ, |
Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë¹ç¤ï¤»¤¿Ê¸»úÎó¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ |
Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë¹ç¤ï¤»¤¿Ê¸»úÎó¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. |
¤³¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤ëÊýË¡¤Ï¡¢ |
¤³¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤ëÊýË¡¤Ï, |
¸úΨŪ¤Ç¤¢¤ë¤È¤Ï¤¤¤¤Æñ¤¤¤¬¡¢»È¤¤¤ä¤¹¤¤¤È¤â¸À¤¨¤ë¡£ |
¸úΨŪ¤Ç¤¢¤ë¤È¤Ï¤¤¤¤Æñ¤¤¤¬, »È¤¤¤ä¤¹¤¤¤È¤â¸À¤¨¤ë. |
|
|
¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤òÍѤ¤¤Æ¤¤¤ë¡£ |
¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤òÍѤ¤¤Æ¤¤¤ë. |
¾åµ¤Îʸ»úÎó¤òÁ÷¤ëÊýË¡¤ÎÍøÅÀ¤òÀ¸¤«¤¹¤¿¤á¡¢ |
¾åµ¤Îʸ»úÎó¤òÁ÷¤ëÊýË¡¤ÎÍøÅÀ¤òÀ¸¤«¤¹¤¿¤á, |
OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤ÎÃæ¤Îʸ»úÎó¤È¤·¤Æ¡¢ |
OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤ÎÃæ¤Îʸ»úÎó¤È¤·¤Æ, |
¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÍѤ¤¤¿¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤â²Äǽ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ |
¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÍѤ¤¤¿¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤â²Äǽ¤È¤Ê¤Ã¤Æ¤¤¤ë. |
|
|
OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®¤ÎÊýË¡¤Ë´ö¤é¤«¤Î¼«Í³ÅÙ¤¬¤¢¤ë¤¬¡¢ |
OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®¤ÎÊýË¡¤Ë´ö¤é¤«¤Î¼«Í³ÅÙ¤¬¤¢¤ë¤¬, |
¸½ºß¤Î¤È¤³¤í¤Ï TCP/IP ¤òÍѤ¤¤¿ÄÌ¿®¤·¤«¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ |
¸½ºß¤Î¤È¤³¤í¤Ï TCP/IP ¤òÍѤ¤¤¿ÄÌ¿®¤·¤«¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤. |
¤½¤³¤Ç¡¢¤³¤ÎÏÀʸ¤Ç¤Ï¶ñÂÎŪ¤Ê¼ÂÁõ¤Ï TCP/IP ¤òÍѤ¤¤Æ¤¤¤ë¤È²¾Äꤹ¤ë¡£ |
\footnote{asir ¤Ç¤Ï MPI ¤òÍѤ¤¤¿¼ÂÁõ¤â¤¢¤ë.} |
|
¤½¤³¤Ç, ¤³¤ÎÏÀʸ¤Ç¤Ï¶ñÂÎŪ¤Ê¼ÂÁõ¤Ï TCP/IP ¤òÍѤ¤¤Æ¤¤¤ë¤È²¾Äꤹ¤ë. |
|
|
\section{OpenXM ¤Î¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤} |
\section{OpenXM ¤Î¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤} |
|
|
ÄÌ¿®¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤¤ÏÊѤï¤ë¡£ |
ÄÌ¿®¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤¤ÏÊѤï¤ë. |
Á°Àá¤Ç²¾Äꤷ¤¿¤È¤ª¤ê¡¢¤³¤ÎÏÀʸ¤Ç¤Ï TCP/IP ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤ò¹Ô¤Ê¤¦¡£ |
Á°Àá¤Ç²¾Äꤷ¤¿¤È¤ª¤ê, ¤³¤ÎÏÀʸ¤Ç¤Ï TCP/IP ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤ò¹Ô¤Ê¤¦. |
|
|
OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ |
OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤È¤Ê¤Ã¤Æ¤ª¤ê, |
¼¡¤Î¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
¼¡¤Î¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë. |
|
|
\begin{tabular}{|c|c|} |
\begin{tabular}{|c|c|} |
\hline |
\hline |
Line 67 OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥ |
|
Line 71 OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥ |
|
\hline |
\hline |
\end{tabular} |
\end{tabular} |
|
|
¥Ø¥Ã¥À¤ÎŤµ¤Ï 8 ¥Ð¥¤¥È¤Ç¤¢¤ë¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë¡£ |
¥Ø¥Ã¥À¤ÎŤµ¤Ï 8 ¥Ð¥¤¥È¤Ç¤¢¤ë¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë. |
¥Ü¥Ç¥£¤ÎŤµ¤Ï¥á¥Ã¥»¡¼¥¸¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤¬¡¢ |
¥Ü¥Ç¥£¤ÎŤµ¤Ï¥á¥Ã¥»¡¼¥¸¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤¬, |
Ťµ¤Ï $0$ ¤Ç¤â¤è¤¤¡£ |
Ťµ¤Ï $0$ ¤Ç¤â¤è¤¤. |
|
|
¥Ø¥Ã¥À¤Ï¼¡¤ÎÆó¤Ä¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ë¡£ |
¥Ø¥Ã¥À¤Ï¼¡¤ÎÆó¤Ä¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ë. |
\begin{enumerate} |
\begin{enumerate} |
\item Á°È¾¤Î 4 ¥Ð¥¤¥È¡£¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤ï¤¹¼±Ê̻ҤǤ¢¤ê¡¢ |
\item Á°È¾¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤ï¤¹¼±Ê̻ҤǤ¢¤ê, |
¥¿¥°¤È¸Æ¤Ð¤ì¤ë¡£ |
¥¿¥°¤È¸Æ¤Ð¤ì¤ë. |
\item ¸åȾ¤Î 4 ¥Ð¥¤¥È¡£¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·ÈÖ¹æ¤Ç¤¢¤ë¡£ |
\item ¸åȾ¤Î 4 ¥Ð¥¤¥È. ¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·ÈÖ¹æ¤Ç¤¢¤ë. |
\end{enumerate} |
\end{enumerate} |
¤½¤ì¤¾¤ì¤Î 4 ¥Ð¥¤¥È¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤È¤ß¤Ê¤µ¤ì¤Æ°·¤ï¤ì¤ë¡£ |
¤½¤ì¤¾¤ì¤Î 4 ¥Ð¥¤¥È¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤È¤ß¤Ê¤µ¤ì¤Æ°·¤ï¤ì¤ë. |
¤³¤Î¾ì¹ç¤ËÍѤ¤¤é¤ì¤ëÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤¹¤ë¤¬¡¢ |
¤³¤Î¾ì¹ç¤ËÍѤ¤¤é¤ì¤ëÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤¹¤ë¤¬, |
´ðËÜŪ¤Ëɽ¸½ÊýË¡¤Ï¤¤¤¯¤Ä¤«¤ÎÁªÂò»è¤«¤éÁª¤Ö¤³¤È¤¬²Äǽ¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ |
´ðËÜŪ¤Ëɽ¸½ÊýË¡¤Ï¤¤¤¯¤Ä¤«¤ÎÁªÂò»è¤«¤éÁª¤Ö¤³¤È¤¬²Äǽ¤È¤Ê¤Ã¤Æ¤ª¤ê, |
¤Þ¤¿¤½¤ÎÁªÂò¤ÏÄÌ¿®Ï©¤Î³ÎΩ»þ¤Ë°ìÅÙ¤À¤±¤Ê¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ |
¤Þ¤¿¤½¤ÎÁªÂò¤ÏÄÌ¿®Ï©¤Î³ÎΩ»þ¤Ë°ìÅÙ¤À¤±¤Ê¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. |
¸½ºß¤ÎOpenXM µ¬Ìó¤Ç¤Ï¡¢¥¿¥°(À°¿ôÃÍ)¤È¤·¤Æ |
¸½ºß¤ÎOpenXM µ¬Ìó¤Ç¤Ï, ¥¿¥°(À°¿ôÃÍ)¤È¤·¤Æ |
°Ê²¼¤Î¤â¤Î¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ |
°Ê²¼¤Î¤â¤Î¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. |
|
|
\begin{verbatim} |
\begin{verbatim} |
#define OX_COMMAND 513 |
#define OX_COMMAND 513 |
Line 94 OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥ |
|
Line 98 OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥ |
|
#define OX_DATA_MP 525 |
#define OX_DATA_MP 525 |
\end{verbatim} |
\end{verbatim} |
|
|
¥Ü¥Ç¥£¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¡£ |
¥Ü¥Ç¥£¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë. |
¤³¤ÎÏÀʸ¤Ç¤Ï OX\_DATA ¤È \\ |
¥¿¥°¤¬ OX\_COMMAND ¤È¤Ê¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ç¤¢¤ê, |
OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß¡¢ÀâÌÀ¤¹¤ë¡£ |
¤½¤ì°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤Ï²¿¤é¤«¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¤·¤Æ¤¤¤ë. |
|
¤³¤ÎÏÀʸ¤Ç¤Ï OX\_DATA ¤È OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë |
|
¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß, ÀâÌÀ¤¹¤ë. |
|
|
´û¸¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ÏÂбþ¤Ç¤¤Ê¤¤¾ì¹ç¤Ï¡¢¿·¤·¤¤¼±Ê̻ҤòÄêµÁ¤¹¤ë¤³¤È¤Ç¿·¤· |
´û¸¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ÏÂбþ¤Ç¤¤Ê¤¤¾ì¹ç¤Ï, ¿·¤·¤¤¼±Ê̻ҤòÄêµÁ¤¹¤ë¤³¤È¤Ç¿·¤· |
¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢¤Î |
¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë. ¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢¤Î |
¸ÇͤÎɽ¸½¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤Ê¤É¤Ë͸ú¤Ç¤¢¤ë¡£¿·¤·¤¤¼±ÊÌ»Ò |
¸ÇͤÎɽ¸½¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤Ê¤É¤Ë͸ú¤Ç¤¢¤ë. ¿·¤·¤¤¼±ÊÌ»Ò |
¤ÎÄêµÁÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È¡£ |
¤ÎÄêµÁÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï, \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. |
|
|
\section{OpenXM ¤Î·×»»¥â¥Ç¥ë} |
\section{OpenXM ¤Î·×»»¥â¥Ç¥ë} |
|
|
OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤Þ¤¿¡¢ OpenXM µ¬ |
OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë. ¤Þ¤¿, OpenXM µ¬ |
Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼ |
Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç, ¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼ |
¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷ |
¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷ |
¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ |
¤ê, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ |
ÆÀ¤é¤ì¤ë¡£ |
ÆÀ¤é¤ì¤ë. ¤³¤Î¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¼çƳ¤Ç¹Ô¤ï¤ì¤ë. ¤Ä¤Þ¤ê, |
|
¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Í³¤Ë¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð¤ËÁ÷ÉÕ¤·¤Æ¤â¤è¤¤¤¬, ¥µ¡¼¥Ð¤«¤é¤Ï¼« |
|
ȯŪ¤Ë¥á¥Ã¥»¡¼¥¸¤¬Á÷ÉÕ¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤. ¤³¤Î¸¶Íý¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó |
|
¤Ç¤¢¤ë¤³¤È¤Ç¼Â¸½¤µ¤ì¤ë. ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ¤Ï \ref{sec:oxsm} Àá |
|
¤Ç½Ò¤Ù¤ë. |
|
|
¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¡£¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥á¥Ã¥»¡¼ |
¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È(¤Ä¤Þ¤ê OX\_COMMAND ¤Ç¤Ê¤¤ |
¥¸¤Ï¡¢¥¿¥°¤¬ OX\_COMMAND ¤Ç¤Ê¤±¤ì¤Ð¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£¥¿¥°¤¬ |
¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá |
OX\_COMMAND ¤È¤Ê¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ç¤¢¤ê¡¢¤³¤Î¥á¥Ã |
(OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤ÏÌ¿Îá¤ËÂÐ |
¥»¡¼¥¸¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤Ï¤½¤ì¤ËÂбþ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦¤³¤È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¡£ |
±þ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦. ¤³¤Î¤È¤, Ì¿Îá¤Ë¤è¤Ã¤Æ¤Ï¥¹¥¿¥Ã¥¯¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è |
|
¤ê½Ð¤¹¤³¤È¤¬¤¢¤ê, ¤Þ¤¿(³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ç¤Î)·×»»·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤¬ |
|
¤¢¤ë. ¤â¤·, Í¿¤¨¤é¤ì¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤¤Ê¤É¤ÎÍýͳ¤Ç¥¨¥é¡¼¤¬À¸¤¸¤¿¾ì¹ç¤Ë |
|
¤Ï¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. ·×»»·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÆÀ |
|
¤ë¾ì¹ç¤Ë¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îá SM\_popCMO ¤Þ¤¿¤Ï SM\_popString ¤ò¥µ¡¼¥Ð |
|
¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. ¤³¤ì¤é¤ÎÌ¿Îá¤ò¼õ¤±¼è¤Ã¤Æ¤Ï¤¸¤á¤Æ, ¥µ¡¼¥Ð¤«¤é¥¯¥é |
|
¥¤¥¢¥ó¥È¤Ø¥á¥Ã¥»¡¼¥¸¤¬Á÷¤é¤ì¤ë. |
|
|
%{\large\bf °ÕÌ£ÉÔÌÀ¤Ê½ñ¤Êý¤À¤±¤É¡¢} |
%{\Huge °Ê²¼, ½ñ¤Ä¾¤·} |
¥µ¡¼¥Ð¤Ï¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤é¤Ê¤¤¸Â¤ê¡¢¼«¤é²¿¤«Æ°ºî¤ò¹Ô¤Ê¤ª¤¦¤È¤Ï¤·¤Ê¤¤¡£ |
|
¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤¬Ëè²ó¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¤¿¤Ó¤Ë¡¢ |
|
¤¤¤Ä¤â¥µ¡¼¥Ð¤«¤é¤Î¥á¥Ã¥»¡¼¥¸¤òÂÔ¤ÄɬÍפ¬¤Ê¤¤¤³¤È¤ò°ÕÌ£¤¹¤ë¡£ |
|
¤³¤Î¤¿¤á¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥µ¡¼¥Ð¤Î¾õÂÖ¤òµ¤¤Ë¤»¤º¤Ë¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¡¢ |
|
°ìö¥á¥Ã¥»¡¼¥¸¤òÁ÷ÉÕ¤·½ª¤¨¤¿¸å¡¢ |
|
Á÷¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤Î·ë²Ì¤ò¥µ¡¼¥Ð¤«¤éÂԤĤ³¤È¤Ê¤·¤Ë¼¡¤ÎÆ°ºî¤Ë°Ü¤ë¤³¤È¤¬¤Ç¤¤ë¡£ |
|
|
|
\section{OpenXM ¤Î·×»»¤Î¿Ê¹ÔÊýË¡} |
¤Þ¤È¤á¤ë¤È, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê, |
|
·×»»¤Î·ë²Ì¤òÆÀ¤ë¤È¤¤¤¦¼ê½ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë. |
|
|
%Á°¤ÎÀá¤È½ÅÊ£¤·¤Æ¤¤¤ë¤Î¤Ç¤â¤¦¾¯¤·¤Á¤ã¤ó¤È¹Í¤¨¤ÆÍߤ·¤¤¤Î¤À¤±¤ì¤É¡¢ |
\begin{enumerate} |
|
\item |
|
¤Þ¤º, ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥ª¥Ö¥¸¥§¥¯¥È¤òÁ÷¤ë. ¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤¤¿¥ª¥Ö |
|
¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. |
|
\item |
|
¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë·×»»¤ÎÌ¿Îá¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¤¢¤é¤«¤¸¤áÄê¤á¤ì¤é¤¿ |
|
Æ°ºî¤ò¹Ô¤¦. °ìÉô¤ÎÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤Î¾õÂÖ¤òÊѹ¹¤¹¤ë. Î㤨¤Ð SM\_executeFunction, |
|
SM\_executeStringByLocalParser ¤Ê¤É¤ÎÌ¿Îá¤Ï, ¥¹¥¿¥Ã¥¯¾å¤Î¥ª¥Ö¥¸¥§¥¯¥È¤«¤é |
|
·×»»¤ò¹Ô¤¦. SM\_popCMO ¤â¤·¤¯¤Ï SM\_popString ¤Ï, ¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö |
|
¥¸¥§¥¯¥È¤ò¼è¤ê¤À¤·, ¥¯¥é¥¤¥¢¥ó¥È¤ËÁ÷¤êÊÖ¤¹. |
|
\end{enumerate} |
|
|
Á°Àá¤ÎÀâÌÀ¤Ç¤ï¤«¤ë¤è¤¦¤Ë¡¢ |
|
¥µ¡¼¥Ð¤Ï¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î»Ø¼¨¤Ê¤·¤Ë¡¢ |
|
¼«¤é¥á¥Ã¥»¡¼¥¸¤òÁ÷¤é¤Ê¤¤¡£ |
|
%(Îã³°? ox\_asir ¤Î mathcap)¡£ |
|
|
|
|
\section{OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó}\label{sec:oxsm} |
|
|
¤³¤ÎÊդϥ¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¤È¤³¤í¤Ë½ñ¤³¤¦¡£ |
OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤¤¤ë. °Ê²¼, OpenXM |
|
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¸Æ¤Ö. ¤³¤ÎÀá¤Ç¤ÏOpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ |
|
¤·¤è¤¦. |
|
|
|
¤Þ¤º, OpenXM µ¬Ìó¤ÏÄÌ¿®»þ¤Ë¤ä¤ê¤È¤ê¤µ¤ì¤ë¶¦Ä̤Υǡ¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äê |
|
¤¹¤ë¤¬, OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬¥¹¥¿¥Ã¥¯¤ËÀѤà, ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Þ¤Ç¤Ï |
|
µ¬Äꤷ¤Ê¤¤. ¤Ä¤Þ¤ê, ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë |
|
¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë. ¤³¤Î¤³¤È¤ÏÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿ºÝ¤Ë, ³Æ¿ô³Ø¥·¥¹ |
|
¥Æ¥à¤¬¸ÇͤΥǡ¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤ò°ÕÌ£¤¹¤ë. ¤³¤ÎÊÑ |
|
´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤. |
|
|
¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£ |
¼¡¤Ë OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. OpenXM ¥¹¥¿¥Ã¥¯ |
¼¡¤¤¤Ç¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤òÁ÷¤ë¤È¡¢ |
¥Þ¥·¥ó¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤ÎÌ¿Îá¤Ï4¥Ð¥¤¥È¤ÎŤµ¤ò»ý¤Ä. OpenXM µ¬Ìó¤Î¾¤Îµ¬Äê¤È |
½é¤á¤Æ¥µ¡¼¥Ð¤Ï¥Ç¡¼¥¿¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà°Ê³°¤Î¤Ê¤ó¤é¤«¤ÎÆ°ºî¤ò¹Ô¤Ê¤¦¡£ |
ƱÍͤË, 4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ï32¥Ó¥Ã¥ÈÀ°¿ô¤È¸«¤Ê¤µ¤ì¤ë¤Î¤Ç, ¤³¤ÎÏÀʸ¤Ç¤â¤½¤Î |
¤³¤Î¤È¤¡¢É¬Íפ¬¤¢¤ì¤Ð¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤éɬÍפʤÀ¤±¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¡£ |
ɽµ¤Ë¤·¤¿¤¬¤¦. OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¤³ |
¤³¤³¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÌ¿Îá¤Ë¤è¤ëÆ°ºîÃæ¤Ë¤¿¤È¤¨¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤È¤·¤Æ¤â |
¤È¤Ï¤Ê¤¤. ¸½ºß¤Î¤È¤³¤í, OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤ÎÌ¿Î᤬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. |
¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà¤À¤±¤Ç¡¢ |
|
ÌÀ¼¨¤µ¤ì¤Ê¤¤¸Â¤ê¥¨¥é¡¼¤¹¤é¤â¥¯¥é¥¤¥¢¥ó¥È¤ØÊÖ¤µ¤Ê¤¤¤³¤È¤Ë |
|
Ãí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ |
|
|
|
·ë²Ì¤¬À¸¤¸¤ëÆ°ºî¤ò¥µ¡¼¥Ð¤¬¹Ô¤Ê¤Ã¤¿¾ì¹ç¡¢ |
\begin{verbatim} |
¥µ¡¼¥Ð¤ÏÆ°ºî¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ |
#define SM_popSerializedLocalObject 258 |
¥µ¡¼¥Ð¤Ë¹Ô¤Ê¤ï¤»¤¿Æ°ºî¤Î·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÃΤꤿ¤¤¾ì¹ç¡¢ |
#define SM_popCMO 262 |
¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¤ò¥µ¡¼¥Ð¦¤ØÁ÷¤ì¤Ð¤è¤¤¡£ |
#define SM_popString 263 |
|
|
%{\Huge °Ê²¼¡¢½ñ¤Ä¾¤·} |
#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 |
|
|
\begin{enumerate} |
#define SM_control_kill 1024 |
\item ¤Þ¤º¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ë¡£ |
#define SM_control_to_debug_mode 1025 |
¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤¤¿¥á¥Ã¥»¡¼¥¸¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ |
#define SM_control_exit_debug_mode 1026 |
\item ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤òÁ÷¤ë¤È¡¢ |
#define SM_control_ping 1027 |
¥µ¡¼¥Ð¤ÏɬÍפʤÀ¤±¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢ |
#define SM_control_start_watch_thread 1028 |
¼Â¹Ô¤·¤¿·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ |
#define SM_control_stop_watch_thread 1029 |
\item ºÇ¸å¤Ë¡Ö¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¡×¤ò |
#define SM_control_reset_connection 1030 |
¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤é·×»»·ë²Ì¤ÎÆþ¤Ã¤Æ¤¤¤ë |
\end{verbatim} |
¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ |
|
\end{enumerate} |
|
|
|
\section{OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó} |
%°Ê²¼, ¤É¤¦¤¤¤¦¤È¤¤Ë·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤफ¥¨¥é¡¼¤Î¾ì¹ç¤É¤¦¤¹¤ë¤«¤ÎÀâÌÀ¤¬ |
|
%ɬÍפǤ¢¤í¤¦. |
|
|
OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤¤¤ë¡£°Ê²¼¡¢OpenXM |
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤ÎÃæ¤Ë¤Ï¼Â¹Ô¤Ë¤è¤Ã¤Æ·ë²Ì¤¬Ê֤äƤ¯¤ë¤â¤Î¤¬¤¢¤ë. |
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¸Æ¤Ö¡£¤³¤ÎÀá¤Ç¤ÏOpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ |
·ë²Ì¤¬Ê֤äƤ¯¤ëÌ¿Îá¤ò¼Â¹Ô¤·¤¿¾ì¹ç, ¥µ¡¼¥Ð¤Ï¤½¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. |
¤·¤è¤¦¡£ |
¤¿¤È¤¨¤Ð, Ì¿Îá SM\_executeStringByLocalParser ¤Ï |
|
¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò |
|
¥µ¡¼¥Ð¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤È¤ß¤Ê¤·¤Æ·×»»¤ò¹Ô¤Ê¤¦¤¬, |
|
¹Ô¤Ê¤Ã¤¿·×»»¤Î·ë²Ì¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. |
|
%{\Large ¤³¤ì, ËÜÅö? ʸ»úÎó¤ÇÀѤޤì¤ë¤Î? ¤É¤³¤Ç·è¤Þ¤Ã¤Æ¤ë¤Î?} |
|
%¢¬¤¹¤¤¤Þ¤»¤ó¡¢±³¤Ç¤·¤¿¡£ |
|
|
¤µ¤Æ¡¢OpenXM µ¬Ìó¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Þ¤Ç¤Ïµ¬Äꤷ¤Ê¤¤¡£ |
¤Ê¤ª, Ì¿Îá¤Î¼Â¹ÔÃæ¤Ë¥¨¥é¡¼¤¬µ¯¤³¤ê, ·ë²Ì¤¬ÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï, |
¤Ä¤Þ¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ç |
¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë. |
¤¢¤ë¡£OpenXM µ¬Ìó¤ÏÄÌ¿®»þ¤Ë¤ä¤ê¤È¤ê¤µ¤ì¤ë¶¦Ä̤Υǡ¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äê |
|
¤¹¤ë¤¬¡¢OpenXM µ¬Ìó¤ËÂбþ¤·¤¿³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ï¡¢ÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã |
|
¤¿ºÝ¤Ë¡¢³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Î¸ÇͤΥǡ¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È |
|
¤ò°ÕÌ£¤¹¤ë¡£¤³¤ÎÊÑ´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤¡£ |
|
|
|
¼¡¤Ë OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£OpenXM ¥¹¥¿¥Ã¥¯ |
|
¥Þ¥·¥ó¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤ÎÌ¿Îá¤Ï4¥Ð¥¤¥È¤ÎŤµ¤ò»ý¤Ä¡£OpenXM µ¬Ìó¤Î¾¤Îµ¬Äê¤È |
|
ƱÍͤˡ¢4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ï32¥Ó¥Ã¥ÈÀ°¿ô¤È¸«¤Ê¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤ÎÏÀʸ¤Ç¤â¤½¤Î |
|
ɽµ¤Ë¤·¤¿¤¬¤¦¡£OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¤³ |
|
¤È¤Ï¤Ê¤¤¡£¸½ºß¤Î¤È¤³¤í¡¢OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤ÎÌ¿Î᤬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ |
|
|
|
|
\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤}\label{sec:cmo} |
|
|
|
OpenXM µ¬Ìó¤Ç¤Ï, ¿ô³ØŪ¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ëÊýË¡¤È¤·¤Æ CMO ·Á¼°(Common |
|
Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë. ¤³¤Î CMO ·Á¼°¤Ë¤·¤¿¤¬¤Ã¤¿¥Ç¡¼ |
|
¥¿¤Ï, ¼±Ê̻Ҥ¬ OX\_DATA ¤Ç¤¢¤ë¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤Ë¤Ê¤ë¤³¤È¤òÁÛÄꤷ |
|
¤Æ¤¤¤ë. |
|
|
|
CMO ·Á¼°¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¹½Â¤¤Ï¼¡¤Î¤è¤¦¤Ê¹½Â¤¤ò¤â¤Ä. |
|
|
|
\begin{tabular}{|c|c|} \hline |
|
¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline |
|
\end{tabular} |
|
|
|
¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë. ¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬, |
|
0¤Ç¤â¤è¤¤. |
|
|
|
¥á¥Ã¥»¡¼¥¸¤ÈƱÍͤ˥إåÀ¤Ï4¥Ð¥¤¥Èñ°Ì¤Ë´ÉÍý¤µ¤ì¤ë. ¤¹¤Ê¤ï¤Á, CMO ¤Ç¤Ï¥Ø¥Ã |
|
¥À¤Ï°ì¤Ä¤À¤±¤Î¾ðÊó¤ò´Þ¤à. ¤³¤Î4¥Ð¥¤¥È¤Î¥Ø¥Ã¥À¤Î¤³¤È¤ò¥¿¥°¤È¤â¤¤¤¦. ¤µ¤Æ, |
|
CMO ¤Ç¤Ï, ¥¿¥°¤Ë¤è¤Ã¤Æ¥Ü¥Ç¥£¤ÎÏÀÍýŪ¹½Â¤¤¬·èÄꤹ¤ë. ¤¹¤Ê¤ï¤Á, ¥¿¥°¤Ï¤½¤ì |
|
¤¾¤ì¤Î¥Ç¡¼¥¿¹½Â¤¤È1ÂÐ1¤ËÂбþ¤¹¤ë¼±Ê̻ҤǤ¢¤ë. ¤½¤ì¤¾¤ì¤ÎÏÀÍýŪ¹½Â¤¤Ï |
|
\cite{OpenXM-1999} ¤Ë¾Ü½Ò¤µ¤ì¤Æ¤¤¤ë. ¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤Î CMO ¤¬ |
|
ÄêµÁ¤µ¤ì¤Æ¤¤¤ë. |
|
|
\begin{verbatim} |
\begin{verbatim} |
#define SM_popSerializedLocalObject 258 |
#define CMO_ERROR2 0x7f000002 |
#define SM_popCMO 262 |
#define CMO_NULL 1 |
#define SM_popString 263 |
#define CMO_INT32 2 |
|
#define CMO_DATUM 3 |
|
#define CMO_STRING 4 |
|
#define CMO_MATHCAP 5 |
|
|
#define SM_mathcap 264 |
#define CMO_START_SIGNATURE 0x7fabcd03 |
#define SM_pops 265 |
#define CMO_ARRAY 16 |
#define SM_setName 266 |
#define CMO_LIST 17 |
#define SM_evalName 267 |
#define CMO_ATOM 18 |
#define SM_executeStringByLocalParser 268 |
#define CMO_MONOMIAL32 19 |
#define SM_executeFunction 269 |
#define CMO_ZZ 20 |
#define SM_beginBlock 270 |
#define CMO_QQ 21 |
#define SM_endBlock 271 |
#define CMO_ZERO 22 |
#define SM_shutdown 272 |
#define CMO_DMS_GENERIC 24 |
#define SM_setMathCap 273 |
#define CMO_DMS_OF_N_VARIABLES 25 |
#define SM_executeStringByLocalParserInBatchMode 274 |
#define CMO_RING_BY_NAME 26 |
#define SM_getsp 275 |
#define CMO_RECURSIVE_POLYNOMIAL 27 |
#define SM_dupErrors 276 |
#define CMO_LIST_R 28 |
|
|
#define SM_DUMMY_sendcmo 280 |
#define CMO_INT32COEFF 30 |
#define SM_sync_ball 281 |
#define CMO_DISTRIBUTED_POLYNOMIAL 31 |
|
#define CMO_POLYNOMIAL_IN_ONE_VARIABLE 33 |
|
#define CMO_RATIONAL 34 |
|
|
#define SM_control_kill 1024 |
#define CMO_64BIT_MACHINE_DOUBLE 40 |
#define SM_control_reset_connection 1030 |
#define CMO_ARRAY_OF_64BIT_MACHINE_DOUBLE 41 |
#define SM_control_to_debug_mode 1025 |
#define CMO_128BIT_MACHINE_DOUBLE 42 |
#define SM_control_exit_debug_mode 1026 |
#define CMO_ARRAY_OF_128BIT_MACHINE_DOUBLE 43 |
#define SM_control_ping 1027 |
|
#define SM_control_start_watch_thread 1028 |
#define CMO_BIGFLOAT 50 |
#define SM_control_stop_watch_thread 1029 |
#define CMO_IEEE_DOUBLE_FLOAT 51 |
|
|
|
#define CMO_INDETERMINATE 60 |
|
#define CMO_TREE 61 |
|
#define CMO_LAMBDA 62 |
\end{verbatim} |
\end{verbatim} |
|
|
°Ê²¼¡¢¤É¤¦¤¤¤¦¤È¤¤Ë·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤफ¥¨¥é¡¼¤Î¾ì¹ç¤É¤¦¤¹¤ë¤«¤ÎÀâÌÀ¤¬ |
¤³¤ÎÃæ¤Ç CMO\_ERROR2, CMO\_NULL, CMO\_INT32, CMO\_DATUM, CMO\_STRING, |
ɬÍפǤ¢¤í¤¦¡£ |
CMO\_MATHCAP, CMO\_LIST ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÏºÇ¤â´ðËÜŪ¤Ê¥ª¥Ö¥¸¥§ |
|
¥¯¥È¤Ç¤¢¤Ã¤Æ, ¤¹¤Ù¤Æ¤Î OpenXM Âбþ¥·¥¹¥Æ¥à¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. |
|
|
\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤} |
¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Î²òÀâ¤ò¹Ô¤¦Á°¤ËµË¡¤Ë¤Ä¤¤¤Æ, ¾¯¤·ÀâÌÀ¤·¤Æ¤ª¤¯. |
|
¤³¤ÎÏÀʸ¤Ç¤Ï, Âçʸ»ú¤Ç CMO\_INT32 ¤È½ñ¤¤¤¿¾ì¹ç¤Ë¤Ï, ¾åµ¤ÇÄêµÁ¤·¤¿¼±ÊÌ»Ò |
|
¤òɽ¤ï¤¹. ¤Þ¤¿ CMO\_INT32 ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹(¤¢¤ë¤¤¤Ï¥Ç¡¼ |
|
¥¿¹½Â¤)¤ò cmo\_int32 ¤È¾®Ê¸»ú¤Çɽ¤ï¤¹¤³¤È¤Ë¤¹¤ë. |
|
|
OpenXM µ¬Ìó¤Ç¤Ï¡¢¿ô³ØŪ¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ëÊýË¡¤È¤·¤Æ CMO ·Á¼°(Common |
¤µ¤Æ cmo ¤òɽ¸½¤¹¤ë¤¿¤á¤Î°ì¤Ä¤ÎµË¡¤òƳÆþ¤¹¤ë. ¤³¤ÎµË¡¤Ï CMO expression |
Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¤³¤Î CMO ·Á¼°¤Ë¤·¤¿¤¬¤Ã¤¿¥Ç¡¼ |
¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë. ¤½¤ÎÀµ³Î¤Ê·Á¼°ÅªÄêµÁ¤Ï \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È. |
¥¿¤Ï¡¢¼±Ê̻Ҥ¬ OX\_DATA ¤Ç¤¢¤ë¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤Ë¤Ê¤ë¤³¤È¤òÁÛÄꤷ |
|
¤Æ¤¤¤ë¡£ |
|
|
|
CMO ·Á¼°¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¹½Â¤¤Ï¼¡¤Î¤è¤¦¤Ê¹½Â¤¤ò¤â¤Ä¡£ |
¤Þ¤º CMO expssion ¤Ï Lisp É÷ɽ¸½¤Î°ì¼ï¤Ç, cmo ¤ò³ç¸Ì¤Ç°Ï¤ó¤À¥ê¥¹¥È¤È¤· |
\begin{verbatim} |
¤Æɽ¸½¤¹¤ë. ¤½¤ì¤¾¤ì¤ÎÍ×ÁǤϥ«¥ó¥Þ¤Ç¶èÀÚ¤ë. |
¥Ø¥Ã¥À ¥Ü¥Ç¥£ |
Î㤨¤Ð, |
\end{verbatim} |
\begin{quote} |
¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë¡£ |
(17, {\sl int32}, (CMO\_NULL), (2, {\sl int32} $n$)) |
¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬¡¢0¤Ç¤â¤è¤¤¡£ |
\end{quote} |
|
¤Ï CMO expression ¤Ç¤¢¤ë. ¤³¤³¤Ç, ¾®Ê¸»ú¤Î¼ÐÂΤÇɽ¤µ¤ì¤¿``{\sl int32}'' |
|
¤Ï 4¥Ð¥¤¥È¤ÎǤ°Õ¤Î¥Ç¡¼¥¿¤òɽ¤¹µ¹æ¤Ç¤¢¤ê, ``{\sl int32} $n$'' ¤ÏƱ¤¸¤¯ 4 |
|
¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤¬°Ê²¼¤ÎÀâÌÀ¤Ç $n$ ¤Èɽ¤¹¤³¤È¤ò¼¨¤¹. ¤Þ¤¿¿ô»ú 17, 2 |
|
¤Ê¤É¤Ï 4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ÇÀ°¿ôÃͤȤ·¤Æ¤ß¤¿¤È¤¤ÎÃͤò°ÕÌ£¤¹¤ë. CMO\_NULL ¤Ï |
|
¼±ÊÌ»Ò(¤¹¤Ê¤ï¤Á¿ô»ú 1 ¤ÈÅù²Á)¤Ç¤¢¤ë. ¤³¤ÎµË¡¤«¤é¾åµ¤Î¥Ç¡¼¥¿¤Ï 20 ¥Ð¥¤ |
|
¥È¤ÎÂ礤µ¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤¬Ê¬¤«¤ë. |
|
¤Ê¤ª, ¥Ç¡¼¥¿¤¬ CMO expression ¤Çɽµ¤Ç¤¤Æ¤â, |
|
CMO ¤Ç¤¢¤ë¤È¤Ï¸Â¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤Û¤·¤¤. |
|
|
\begin{verbatim} |
¤µ¤Æ, ¤³¤ÎµË¡¤Î¤â¤È¤Ç cmo\_int32 ¤ò¼¡¤Î¥Ç¡¼¥¿¹½Â¤¤ò»ý¤Ä¤ÈÄêµÁ¤¹¤ë. |
ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ |
\begin{quote} |
ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ |
cmo\_int32 := (CMO\_INT32, {\sl int32}) |
ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ |
\end{quote} |
ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ÀâÌÀ¡£ |
ƱÍͤË, cmo\_null, cmo\_string, cmo\_list, cmo\_mathcap ¤Î¥·¥ó¥¿¥Ã |
\end{verbatim} |
¥¯¥¹¤Ï¼¡¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤ë. |
|
\begin{quote} |
|
cmo\_null := (CMO\_NULL) \\ |
|
cmo\_string := (CMO\_STRING, {\sl int32} $n$, {\sl string} $s$) \\ |
|
cmo\_list := (CMO\_LIST, {\sl int32} $m$, {\sl cmo} $c_1$, $\ldots$, |
|
{\sl cmo} $c_m$) \\ |
|
cmo\_mathcap := (CMO\_MATHCAP, {\sl cmo\_list}) |
|
\end{quote} |
|
¤¿¤À¤·, {\sl string}¤ÏŬÅö¤ÊŤµ¤Î¥Ð¥¤¥ÈÎó¤òɽ¤¹. $s$ ¤Î¥Ð¥¤¥ÈĹ¤Ï $n$ |
|
¤È°ìÃפ¹¤ë¤³¤È¤¬Í׵ᤵ¤ì¤ë. |
|
|
|
%{\Large °Ê²¼, Åļ¤Î½ñ¤¤¤¿Éôʬ¤Ç¤¢¤ë¤¬, ÌäÂê³°¤Ç¤¢¤ë¤³¤È¤è. \\ |
|
%¤³¤ó¤Ê¤¤¤¤²Ã¸º¤Ê¤³¤È¤Ð¤«¤ê½ñ¤¯¤«¤é, ¿®ÍѤµ¤ì¤Ê¤¤¤ó¤À¤è. |
|
%¡ÖCMO ¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô¡×¤Ê¤ó¤Æ¤É¤³¤ÇÄêµÁ¤·¤¿¤ó¤À¤è. µ¬Ìó¤Ë¤â¤½¤ó¤ÊÇϼ¯¤Ê |
|
%¸ÀÍդϤʤ¤¤¾. ¤Þ¤¸¤á¤Ë½ñ¤¯µ¤¤¬¤¢¤ë¤Î¤«? |
|
%} |
|
% |
|
%¤³¤ì¤Ï CMO ¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô $a$ ¤òɽ¤¹. |
|
% |
|
%¾¤Î¥ª¥Ö¥¸¥§¥¯¥È¤âÄêµÁ¤¹¤ë¤¿¤á¤Ë, |
|
%``{\sl string} $s$'' ¤òʸ»úÎó $s$ , |
|
%``{\sl cmo} $ob$'' ¤ò CMO ¤Î $ob$ ¤È¤¹¤ë. |
|
%¤³¤ì¤òÍѤ¤¤Æ, cmo\_string, cmo\_list ¤òÄêµÁ¤¹¤ë. |
|
% |
|
%{\Large ¤Þ¤¿¤¤¤¤²Ã¸º¤Ê¤³¤È¤ò.... ``ʸ»úÎó'' ¤Î³µÇ°¤¬¤Ï¤Ã¤¤ê¤·¤Ê¤¤¤Ç¤·¤ç |
|
%¤¦¤¬. } |
|
% |
|
%\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$ ¤Î¥ê¥¹¥È¤òɽ¤¹. |
|
|
%OpenXM µ¬Ìó¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤ò¼ÂºÝ¤ËºîÀ®¤¹¤ë¾ì¹ç¡¢ |
|
CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¿ÇÜĹÀ°¿ô¤òÍý²ò¤·¤Æ¤ª¤¯¤È¡¢ |
|
CMO ·Á¼°¤Î¾¤Î¥Ç¡¼¥¿¹½Â¤¤À¤±¤Ç¤Ê¤¯¡¢ |
|
OpenXM µ¬Ìó¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ëÍÍ¡¹¤Ê¥Ç¡¼¥¿¹½Â¤¤òÍý²ò¤¹¤ë½õ¤±¤Ë¤Ê¤ë¤È»×¤¨¤ë¤Î¤Ç¡¢ |
|
¤³¤³¤Ç¤Ï CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë¡£ |
|
|
|
CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤Ï¿ÇÜĹÀ°¿ô°Ê³°¤Ë¤â |
% ¤³¤³¤Ç 32 bit ¤ÎÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤Æ¿¨¤ì¤Æ¤ª¤¯. |
ʸ»úÎó¤ä¥ê¥¹¥È¹½Â¤¤Ê¤É¤¬¤¢¤ë¡£¤É¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤Ç¤¢¤ë¤«¤Ï |
% OpenXM µ¬Ìó¤Ç¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç 32 bit ¤ÎÀ°¿ô 20 ¤ò |
¥Ç¡¼¥¿¤ÎÀèƬ 4 ¥Ð¥¤¥È¤Ë¤¢¤ë(¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻ҤȤÏÊ̤ˤ¢¤ë)¥¿¥°¤ò¸«¤ì¤Ð |
% {\tt 00 00 00 14} ¤Èɽ¤¹ÊýË¡¤È {\tt 14 00 00 00} ¤Èɽ¤¹ÊýË¡¤¬¤¢¤ë. |
ȽÊ̤Ǥ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
% ¤³¤Îɽ¸½ÊýË¡¤Î°ã¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎºÇ½é¤ÎÀܳ»þ¤Ë |
¤³¤ì¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ÎȽÊ̤λÅÊý¤È¤ª¤Ê¤¸¤Ç¤¢¤ë¡£ |
% ÁÐÊý¤Î¹ç°Õ¤Ç·èÄꤹ¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. |
¤Ê¤ª¡¢¥¿¥°¤Ï³Æ¥Ç¡¼¥¿Ëè¤Ë 32 bit ¤ÎÀ°¿ô¤Çɽ¤µ¤ì¤Æ¤ª¤ê¡¢ |
% ¤Ê¤ª, ¹ç°Õ¤¬¤Ê¤¤¾ì¹ç¤Ë¤ÏÁ°¼Ô¤Îɽ¸½ÊýË¡ |
¿ÇÜĹÀ°¿ô¤Ï 20 ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ |
% (°Ê¸å, ¤³¤Îɽ¸½ÊýË¡¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤È¸Æ¤Ö)¤ò |
¤è¤¯»È¤ï¤ì¤ë¤È»×¤ï¤ì¤ë CMO ·Á¼°¤Î¥¿¥°¤ò¤¢¤²¤Æ¤ª¤¯¡£ |
% »È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. |
\begin{verbatim} |
% ¤Þ¤¿, Éé¤Î¿ô¤òɽ¸½¤¹¤ëɬÍפ¬¤¢¤ë¤È¤¤Ë¤Ï, |
#define CMO_INT32 2 /* 32 ¥Ó¥Ã¥ÈÀ°¿ô */ |
% 2 ¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. |
#define CMO_STRING 4 /* ʸ»úÎó */ |
|
#define CMO_MATHCAP 5 /* mathcap(¸å½Ò) */ |
|
#define CMO_LIST 17 /* ¥ê¥¹¥È¹½Â¤ */ |
|
#define CMO_ZZ 20 /* ¿ÇÜĹÀ°¿ô */ |
|
\end{verbatim} |
|
|
|
¤³¤³¤Ç 32 bit ¤ÎÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ëɬÍפ¬¤¢¤ë¡£ |
% Àè¤Û¤É¤Î, (CMO\_INT32, 123456789) ¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Ç |
OpenXM µ¬Ìó¤Ç¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç 32 bit ¤ÎÀ°¿ô 20 ¤ò |
% ¥Ð¥¤¥ÈÎó¤Ëľ¤¹¤È, |
{\tt 00 00 00 14} ¤Èɽ¤¹ÊýË¡¤È {\tt 14 00 00 00} ¤Èɽ¤¹ÊýË¡¤¬¤¢¤ë¡£ |
% \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} |
2 ¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
% \end{center} |
|
% ¤È¤Ê¤ë. |
|
|
CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Ï¡¢ Gnu MP¥é¥¤¥Ö¥é¥êÅù¤ò»²¹Í¤Ë¤·¤Æ¤ª¤ê¡¢ |
% CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Ï, Gnu MP¥é¥¤¥Ö¥é¥êÅù¤ò»²¹Í¤Ë¤·¤Æ¤ª¤ê, |
Éä¹çÉÕ¤ÀäÂÐÃÍɽ¸½¤òÍѤ¤¤Æ¤¤¤ë¡£ |
% Éä¹æÉÕ¤ÀäÂÐÃÍɽ¸½¤òÍѤ¤¤Æ¤¤¤ë. |
¥¿¥°°Ê¹ß¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ |
% ¥¿¥°°Ê¹ß¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë. |
|
|
\begin{tabular}{|c|c|c|c|c|} \hline |
% \begin{tabular}{|c|c|c|c|c|} \hline |
$f$ & $b_0$ & $b_1$ & $\cdots$ & $b_{n-1}$ \\ \hline |
% $f$ & $b_0$ & $b_1$ & $\cdots$ & $b_{n-1}$ \\ \hline |
\end{tabular} |
% \end{tabular} |
|
|
¤³¤³¤Ç¡¢ 1 ¤Ä¤ÎÏÈ¤Ï 4 ¥Ð¥¤¥È¤òɽ¤·¡¢ |
% ¤³¤³¤Ç, 1 ¤Ä¤ÎÏÈ¤Ï 4 ¥Ð¥¤¥È¤òɽ¤·, |
$f$ ¤ÏÉä¹çÉÕ¤ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò¡¢ |
% $f$ ¤ÏÉä¹æÉÕ¤ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò, |
$b_0$, $b_1$, $\cdots$, $b_{n-1}$ ¤ÏÉä¹ç¤Ê¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤òɽ¤·¤Æ¤¤¤ë¡£ |
% $b_0$, $b_1$, $\cdots$, $b_{n-1}$ ¤ÏÉä¹æ¤Ê¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤òɽ¤·¤Æ¤¤¤ë. |
¤µ¤é¤Ë¡¢ $|f| = n$ ¤¬À®¤êΩ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ |
% ¤µ¤é¤Ë, $|f| = n$ ¤¬À®¤êΩ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. |
¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï |
% ¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï |
\[ \mbox{sgn}(f) \times \{ b_0 (2^{32})^0 + b_1 (2^{32})^1 + \cdots |
% \[ \mbox{sgn}(f) \times \{ b_0 (2^{32})^0 + b_1 (2^{32})^1 + \cdots |
+ b_{n-1} (2^{32})^{n-1} \} \] |
% + b_{n-1} (2^{32})^{n-1} \} \] |
¤È¤¤¤¦À°¿ô¤Ç¤¢¤ë¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ |
% ¤È¤¤¤¦À°¿ô¤Ç¤¢¤ë¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë. |
¤¿¤À¤·¡¢ |
% ¤¿¤À¤·, |
\[ \mbox{sgn}(f) = \left\{ \begin{array}{ll} |
% \[ \mbox{sgn}(f) = \left\{ \begin{array}{ll} |
1 & f>0 \\ |
% 1 & f>0 \\ |
0 & f=0 \\ |
% 0 & f=0 \\ |
-1 & f<0 \\ \end{array} \right. \] |
% -1 & f<0 \\ \end{array} \right. \] |
¤Ç¤¢¤ë¡£ |
% ¤Ç¤¢¤ë. |
|
|
¤³¤³¤Ç¶ñÂÎÎã¤ò¤À¤½¤¦¡£ |
% ¤³¤³¤Ç¶ñÂÎÎã¤ò¤À¤½¤¦. |
$4294967298 = 1 \times 2^{32} + 2$ ¤ò CMO ·Á¼°¤Î |
% $4294967298 = 1 \times 2^{32} + 2$ ¤ò CMO ·Á¼°¤Î |
¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¡¢Â¿ÇÜĹÀ°¿ô¤Çɽ¸½¤¹¤ë¤È¡¢ |
% ¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼, ¿ÇÜĹÀ°¿ô¤Çɽ¸½¤¹¤ë¤È, |
\begin{center} |
% \begin{center} |
{\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} |
% {\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} |
\end{center} |
% \end{center} |
¤È¤Ê¤ë¡£¤Þ¤¿¡¢Æ±¤¸É½¸½ÊýË¡¤Ç $-1$ ¤òɽ¸½¤¹¤ë¤È¡¢ |
% ¤È¤Ê¤ë. ¤Þ¤¿, Ʊ¤¸É½¸½ÊýË¡¤Ç $-1$ ¤òɽ¸½¤¹¤ë¤È, |
\begin{center} |
% \begin{center} |
{\tt 00 00 00 14 ff ff ff ff 00 00 00 01} |
% {\tt 00 00 00 14 ff ff ff ff 00 00 00 01} |
\end{center} |
% \end{center} |
¤È¤Ê¤ë¡£ |
% ¤È¤Ê¤ë. |
|
|
|
|
\section{mathcap ¤Ë¤Ä¤¤¤Æ} |
\section{mathcap ¤Ë¤Ä¤¤¤Æ} |
|
|
OpenXM µ¬Ìó¤Ç¤Ï¡¢ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³Æ¥½¥Õ¥È¥¦¥§¥¢¤¬À© |
OpenXM µ¬Ìó¤Ç¤Ï, ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³Æ¥½¥Õ¥È¥¦¥§¥¢¤¬À© |
¸Â¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë¡£¤³¤ì¤Ï³Æ¥½¥Õ¥È¥¦¥§¥¢¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¤¹¤Ù¤Æ¤Î¥á¥Ã |
¸Â¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë. ¤³¤ì¤Ï³Æ¥½¥Õ¥È¥¦¥§¥¢¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¤¹¤Ù¤Æ¤Î¥á¥Ã |
¥»¡¼¥¸¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤Î¤¬º¤Æñ¤Ê¾ì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£¤Þ¤¿¡¢³Æ¥½¥Õ¥È¥¦¥§¥¢ |
¥»¡¼¥¸¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤Î¤¬º¤Æñ¤Ê¾ì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë. ¤Þ¤¿, ³Æ¥½¥Õ¥È¥¦¥§¥¢ |
¤Ç¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ÈÄ¥¤·¤¿¤¤¾ì¹ç¤Ë¤â͸ú¤Ç¤¢¤ë¡£¤³¤ÎÀ©¸Â(¤¢¤ë¤¤¤Ï³ÈÄ¥) |
¤Ç¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ÈÄ¥¤·¤¿¤¤¾ì¹ç¤Ë¤â͸ú¤Ç¤¢¤ë. ¤³¤ÎÀ©¸Â(¤¢¤ë¤¤¤Ï³ÈÄ¥) |
¤Ï mathcap ¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£¤³¤ÎÀá¤Ç¤Ï mathcap ¤Î¥Ç¡¼ |
¤Ï mathcap ¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë. ¤³¤ÎÀá¤Ç¤Ï mathcap ¤Î¥Ç¡¼ |
¥¿¹½Â¤¤È¡¢¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ |
¥¿¹½Â¤¤È, ¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. |
|
|
¤Þ¤º¡¢¼ê³¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ |
¤Ç¤Ï, ¼ê³¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦. |
¥¯¥é¥¤¥¢¥ó¥È¦¤Î mathcap ¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢ |
|
¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿ mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤ߾夲¤ë¡£ |
|
¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤³¤È¤Ë¤è¤ê¡¢ |
|
¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¤ò¼è¤ê½Ð¤·¡¢ |
|
mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¦¤Ø |
|
Á÷¤é¤Ê¤¤¤è¤¦¤ËÀßÄꤹ¤ë¡£ |
|
¥µ¡¼¥Ð¦¤Î mathcap ¤¬Íߤ·¤¤¾ì¹ç¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¡£ |
|
¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë mathcap ¤òÍ׵᤹¤ë¤È¡¢ |
|
¥µ¡¼¥Ð¤Ï¥µ¡¼¥Ð¼«¿È¤Î mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ |
|
¤µ¤é¤Ë¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¤òÁ÷¤ì¤Ð¡¢ |
|
¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤Ë¤¢¤ë mathcap ¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ |
|
¤³¤Î¤è¤¦¤Ë¤·¤Æ¥¯¥é¥¤¥¢¥ó¥È¤Ï¥µ¡¼¥Ð¦¤Î mathcap ¤ò¼õ¤±¼è¤ì¤ë¤ï¤±¤Ç¤¢¤ë¡£ |
|
|
|
¼¡¤Ë mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ |
Âè°ì¤Ë¥µ¡¼¥Ð¤Îµ¡Ç½¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤¬ mathcap |
mathcap ¤Ï CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢ |
¥ª¥Ö¥¸¥§¥¯¥È¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. |
1 ¤Ä¤Î CMO ·Á¼°¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò»ý¤Ä¡£ |
¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤¬Ì¿Îá SM\_setMathCap ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì |
|
¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê½Ð¤·, mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê |
|
¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤Ê¤¤¤è¤¦¤ËÀ©¸Â¤ò¹Ô¤¦. |
|
|
¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï°Ê²¼¤ÇÀâÌÀ¤¹¤ë 3 ¤Ä¤ÎÍ×ÁǤ«¤é¤Ê¤ë¥ê¥¹¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ |
ÂèÆó¤Ë¥¯¥é¥¤¥¢¥ó¥È¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿ |
|
Îá SM\_mathcap ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà. |
|
¤µ¤é¤ËÌ¿Îá SM\_popCMO ¤òÁ÷¤ë¤È, ¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö¥¸¥§¥¯¥È |
|
(¤¹¤Ê¤ï¤Á mathcap ¥ª¥Ö¥¸¥§¥¯¥È)¤ò¥Ü¥Ç¥£¤È¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë |
|
Á÷ÉÕ¤¹¤ë. ¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÀϤ·¤Æ, À©¸Â¤ò¤«¤±¤ë. |
|
|
\[ \begin{tabular}{|c|c|c|} \hline |
¼¡¤Ë mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë. |
$A$ & $B$ & $C$ \\ \hline |
mathcap ¤Ï CMO ¤Î°ì¼ï¤Ç¤¢¤ë¤Î¤Ç, ¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë \\ |
\end{tabular} \] |
\begin{tabular}{|c|c|} \hline |
|
¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline |
|
\end{tabular} \\ |
|
¤Î¹½Â¤¤ò»ý¤Á¥Ø¥Ã¥À¤ÎÃÍ¤Ï 5 ¤Ç¤¢¤ë(\ref{sec:cmo} Àá¤ò»²¾È¤Î¤³¤È). |
|
¥Ü¥Ç¥£¤Ï cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. |
|
|
ºÇ½é¤ÎÍ×ÁÇ $A$ ¤ÎÉôʬ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤ª¤ê¡¢ |
%\begin{quote} |
$a_1$ ¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò¡¢ |
% cmo\_mathcap := (CMO\_MATHCAP,{\sl cmo} obj) |
$a_2$ ¤Ïʸ»úÎó¤Ç¥·¥¹¥Æ¥à¤Î̾Á°¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
%\end{quote} |
|
|
\[ \begin{tabular}{|c|c|} \hline |
¤µ¤Æ, mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ü¥Ç¥£¤Î cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ï°Ê²¼¤Î¾ò·ï¤ò |
$a_1$ & $a_2$ \\ \hline |
Ëþ¤¿¤¹¤³¤È¤òÍ׵ᤵ¤ì¤ë. |
\end{tabular} \] |
|
|
|
2 ÈÖÌܤÎÍ×ÁÇ $B$ ¤ÎÉôʬ¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë¡£ |
¤Þ¤º, ¤½¤Î cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ï¾¯¤Ê¤¯¤È¤â¥ê¥¹¥ÈŤ¬ 3 °Ê¾å¤Ç¤Ê¤±¤ì¤Ð |
¤³¤Î $b_1$, $b_2$, $\cdots$, $b_n$ ¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Ç¤¢¤ë¡£ |
¤Ê¤é¤Ê¤¤. |
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Çɽ¤·¤Æ¤ª¤ê¡¢ |
|
³Æ $b_i$ ¤ÏÍøÍѲÄǽ¤ÊÌ¿Îá¤ËÂбþ¤¹¤ë 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
|
|
\[ \begin{tabular}{|c|c|c|c|} \hline |
\begin{quote} |
$b_1$ & $b_2$ & $\cdots$ & $b_n$ \\ \hline |
(CMO\_LIST, {\sl int32}, {\sl cmo} $A$, {\sl cmo} $B$, {\sl cmo} $C$, $\ldots$) |
\end{tabular} \] |
\end{quote} |
|
|
3 ÈÖÌܤÎÍ×ÁÇ $C$ ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë¡£ |
Âè°ìÍ×ÁÇ $A$ ¤Ï¤Þ¤¿ cmo\_list ¤Ç¤¢¤ê, ¥ê¥¹¥ÈĹ¤Ï 4 °Ê¾å, |
\[ \overbrace{ |
$a_1$ ¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò, |
\begin{tabular}{|c|c|c|c|} \hline |
$a_2$, $a_3$, $a_4$ ¤Ïʸ»úÎó¤Ç¤¢¤ê, |
$c_1$ & $c_2$ & $\cdots$ & $c_n$ \\ \hline |
¤½¤ì¤¾¤ì¥·¥¹¥Æ¥à¤Î̾Á°, , HOSTTYPE ¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë. |
\end{tabular} |
\begin{quote} |
}^{C} \] |
(CMO\_LIST, {\sl int32}, |
%$n$ ¤Ï OX\_COMMAND °Ê³°¤Î¼õ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥¿¥°¤Î¼ïÎà¤Î¿ô¤ËÅù¤·¤¤¡£ |
{\sl cmo\_int32} $a_1$, {\sl cmo\_string} $a_2$, {\sl cmo\_string} |
%Í×ÁÇ¿ô¤Ï 1 ¤Ç¤â¤â¤Á¤í¤ó¹½¤ï¤Ê¤¤¡£ |
$a_3$, {\sl cmo\_string} $a_4$, $\ldots$) |
³Æ $c_i$ ¤â¤Þ¤¿°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ |
\end{quote} |
¤É¤Î $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} \] |
|
¤³¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎÀ°¿ôÃͤϼõ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥¿¥°¤¬Æþ¤Ã¤Æ¤¤¤ë¡£ |
|
$c_{i2}$ °Ê¹ß¤Ë¤Ä¤¤¤Æ¤ÏºÇ½é¤Î $c_{i1}$ ¤ÎÃͤˤè¤Ã¤Æ¤½¤ì¤¾¤ì°Û¤Ê¤ë¡£ |
|
¤³¤³¤Ç¤Ï¡¢ºÇ½é¤ÎÍ×ÁǤ¬ OX\_DATA ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë¡£ |
|
¤³¤Î $c_{i1}$ ¤¬ OX\_DATA ¤Î¾ì¹ç¡¢ |
|
¥ê¥¹¥È $c_i$ ¤Ï CMO ·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¤·¤Æ¤ª¤ê¡¢ |
|
$m=2$ ¤È·è¤á¤é¤ì¤Æ¤¤¤ë¡£ |
|
$c_{i1}$ ¤Ë¤Ï¤â¤Á¤í¤ó¤Î¤³¤È OX\_DATA ¤¬Æþ¤Ã¤Æ¤ª¤ê¡¢ |
|
$c_{i2}$ ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ |
|
³ÆÍ×ÁÇ¤Ï 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Ç¤¢¤ê¡¢ |
|
¼õ¤±¼è¤ë¤³¤È¤¬²Äǽ¤Ê CMO ·Á¼°¤Î¥¿¥°¤¬Æþ¤ë¡£ |
|
\[ \overbrace{ |
|
\begin{tabular}{|c|c|c|c|c|} \hline |
|
$c_{i21}$ & $c_{i22}$ & $\cdots$ & $c_{i2l}$ \\ \hline |
|
\end{tabular} |
|
}^{c_{i2}} \] |
|
|
|
%¤Ê¤ª¡¢ mathcap ¥Ç¡¼¥¿¤ÎÃæ¤Ç¤Ï CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë |
ÂèÆóÍ×ÁÇ $B$ ¤ÎÉôʬ¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë. |
%32 bit À°¿ô¡¢Ê¸»úÎ󡢥ꥹ¥È¹½Â¤¤¬»È¤ï¤ì¤Æ¤ª¤ê¡¢ |
¤³¤Î $b_1$, $b_2$, $\cdots$, $b_n$ ¤Ï¤¹¤Ù¤Æ cmo\_int32 ¤Ç¤¢¤ë. |
%mathcap ¥Ç¡¼¥¿¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÆâÍƤòÍý²ò¤Ç¤¤ë¤¿¤á¤Ë¤Ï |
\ref{sec:oxsm} Àá¤ÇÀâÌÀ¤·¤¿¤¬, |
%ɬÁ³Åª¤Ë¤³¤ì¤é¤âÍý²ò¤Ç¤¤ëɬÍפ¬¤¢¤ë |
¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ï¤¹¤Ù¤Æ {\sl int32} ¤Çɽ¤µ¤ì¤Æ¤¤¤¿¤³¤È¤ËÃí°Õ¤·¤è |
%(¤Ã¤Æ¤³¤È¤Ï CMO ·Á¼°¤Î¤È¤³¤í¤Ç¤³¤ì¤é¤ò |
¤¦. ³Æ $b_i$ ¤ÏÍøÍѲÄǽ¤ÊÌ¿Îá¤ò¥Ü¥Ç¥£¤È¤·¤¿ cmo\_int32 ¤È¤Ê¤Ã¤Æ¤¤¤ë. |
%ÀâÌÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Ã¤Æ¤³¤È¤Ç¤¹)¡£ |
\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} |
|
|
¶ñÂÎŪ¤Ê mathcap ¤ÎÎã¤ò¤¢¤²¤è¤¦¡£ |
Âè»°Í×ÁÇ $C$ ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë. |
%¤Ê¤ª¡¢ $a_1$, $a_2$, $\cdots$, $a_n$ ¤òÍ×ÁÇ¤Ë |
\begin{quote} |
%»ý¤Ä¥ê¥¹¥È¹½Â¤¤ò {\tt [$a_1$, $a_2$, $\cdots$, $a_n$]} ¡¢ |
(CMO\_LIST, {\sl int32} $m$, \\ |
%ʸ»úÎó ``string'' ¤ò {\tt "string"} ¡¢ 32 bit À°¿ô¤ò |
\hspace{10mm} (CMO\_LIST, {\sl int32} $l_1$, {\sl cmo\_int32} $c_{11}$, |
%¤½¤ì¤ËÂбþ¤¹¤ë 10 ¿Ê¿ô¤ÎÀ°¿ô¤Ç¼¨¤¹¡£ |
{\sl cmo} $c_{12}$, $\cdots$, {\sl cmo} $c_{1l_1}$) \\ |
̾Á°¤¬ ``ox\_test'' ¡¢¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç¤¢¤ì¤Ð¡¢ |
\hspace{10mm} (CMO\_LIST, {\sl int32} $l_2$, {\sl cmo\_int32} $c_{21}$, |
|
{\sl cmo} $c_{22}$, $\cdots$, {\sl cmo} $c_{1l_2}$) \\ |
|
\hspace{10mm} $\vdots$ \\ |
|
\hspace{10mm} (CMO\_LIST, {\sl int32} $l_m$, {\sl cmo\_int32} $c_{m1}$, |
|
{\sl cmo} $c_{m2}$, $\cdots$, {\sl cmo} $c_{1l_m}$)) |
|
\end{quote} |
|
¤É¤Î $c_{i1}$ ¤Ë¤â cmo\_int32 ¤¬Æþ¤Ã¤Æ¤ª¤ê, |
|
OX\_COMMAND °Ê³°¤Î, ¼õ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻Ҥ¬Æþ¤Ã¤Æ¤¤¤ë. |
|
$c_{i2}$ °Ê¹ß¤Ë¤Ä¤¤¤Æ¤ÏºÇ½é¤Î $c_{i1}$ ¤ÎÃͤˤè¤Ã¤Æ¤½¤ì¤¾¤ì°Û¤Ê¤ë. |
|
¤³¤³¤Ç¤Ï, OX\_DATA ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë. |
|
¤³¤Î $c_{i1}$ ¤¬ OX\_DATA ¤Î¾ì¹ç, |
|
$c_{i1}$, $c_{i2}$, $\cdots$, $c_{il_i}$ ¤òÍ×ÁǤȤ¹¤ë cmo\_list ¤Ï |
|
CMO ·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¤·¤Æ¤ª¤ê, $l_i=2$ ¤È·è¤á¤é¤ì¤Æ¤¤¤ë. |
|
$c_{i1}$ ¤Ë¤Ï¤â¤Á¤í¤ó¤Î¤³¤È OX\_DATA ¤¬Æþ¤Ã¤Æ¤ª¤ê, |
|
$c_{i2}$ ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê cmo\_list ¤Ë¤Ê¤Ã¤Æ¤¤¤ë. |
|
³ÆÍ×ÁÇ¤Ï cmo\_int32 ¤Ç¤¢¤ê, |
|
¼õ¤±¼è¤ë¤³¤È¤¬²Äǽ¤Ê CMO ·Á¼°¤Î¥¿¥°¤¬Æþ¤ë. |
|
\begin{quote} |
|
(CMO\_LIST, {\sl int32} $k$, |
|
{\sl cmo\_int32} $c_{i21}$, {\sl cmo\_int32} $c_{i22}$, |
|
$\cdots$, {\sl cmo\_int32} $c_{i2k}$) |
|
\end{quote} |
|
|
|
¶ñÂÎŪ¤Ê mathcap ¤ÎÎã¤ò¤¢¤²¤è¤¦. |
|
̾Á°¤¬ ``ox\_test'', ¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç, |
|
PC-UNIX ¾å¤ÇÆ°¤¤¤Æ¤¤¤ì¤Ð, |
$A$ ¤ÎÉôʬ¤Ï |
$A$ ¤ÎÉôʬ¤Ï |
\begin{tabular}{|c|c|} \hline |
\begin{quote} |
199911250 & "ox\_test" \\ \hline |
(CMO\_LIST, 4, (CMO\_INT32, $199911250$), (CMO\_STRING, 7, "ox\_test"), |
\end{tabular} |
(CMO\_STRING, 9, "199911250"), (CMO\_STRING, 4, "i386")) |
¤È¤Ê¤ë¡£ |
\end{quote} |
¤µ¤é¤Ë¡¢¤³¤Î¥µ¡¼¥Ð¤Î¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬ |
¤È¤Ê¤ë. |
Ì¿Îᥳ¡¼¥É 2, 3, 5, 7, 11 ÈÖ¤òÍøÍѲÄǽ |
%({\Large ½¤Àµ¤ò¤ß¤Æ, ¤¿¤À¤·¤¯Ä¾¤¹¤³¤È}) |
(¼ÂºÝ¤Ë¤Ï¤³¤Î¤è¤¦¤ÊÌ¿Îᥳ¡¼¥É¤Ï¸ºß¤·¤Ê¤¤)¤Ç¤¢¤ì¤Ð¡¢ $B$ ¤ÎÉôʬ¤Ï |
|
\begin{tabular}{|c|c|c|c|c|} \hline |
|
2 & 3 & 5 & 7 & 11 \\ \hline |
|
\end{tabular} |
|
¤È¤Ê¤ê¡¢ |
|
CMO ·Á¼°¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô¡¢Ê¸»úÎó¡¢ mathcap ¡¢¥ê¥¹¥È¹½Â¤¤Î¤ß¤¬ |
|
¼õ¤±¼è¤ì¤ë¤È¤¤Ë¤Ï¡¢ $C$ ¤ÎÉôʬ¤Ï |
|
\begin{tabular}{|c|} \hline |
|
\\[-5mm] |
|
\begin{tabular}{|c|c|} \hline |
|
& \\[-5mm] |
|
OX\_DATA & |
|
\begin{tabular}{|c|c|c|c|} \hline |
|
CMO\_INT32 & CMO\_STRING & CMO\_MATHCAP & CMO\_LIST \\ \hline |
|
\end{tabular} \\[0.8mm] \hline |
|
\end{tabular} \\[1.4mm] \hline |
|
\end{tabular} \\ |
|
¤È¤Ê¤ë¡£ |
|
CMO\_ZZ ¤¬¤Ê¤¤¤Î¤Ç¡¢¤³¤Î¥µ¡¼¥Ð¤Ï¿ÇÜĹÀ°¿ô¤¬ |
|
Á÷¤é¤ì¤Æ¤³¤Ê¤¤¤³¤È¤ò´üÂÔ¤·¤Æ¤¤¤ë¡£ |
|
|
|
¤Ê¤ª¡¢¥Ç¡¼¥¿¤¬¼õ¤±¼è¤ì¤ë¤³¤È¤È¡¢ |
¤µ¤é¤Ë, ¤³¤Î¥µ¡¼¥Ð¤Î¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬ |
¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤¬Íý²ò¤Ç¤¤ë¤³¤È¤È¤Ï¤Þ¤Ã¤¿¤¯ÊÌʪ¤Ç¤¢¤ë¤Î¤Ç |
Ì¿Îá SM\_popCMO, SM\_popString, SM\_mathcap, |
Ãí°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡£ |
SM\_executeStringByLocalParser ¤òÍøÍѲÄǽ |
|
%(¼ÂºÝ¤Ë¤Ï¤³¤Î¤è¤¦¤ÊÌ¿Îᥳ¡¼¥É¤Ï¸ºß¤·¤Ê¤¤) |
|
%{\Large ¤¸¤ã¤¢½ñ¤¯¤Ê} |
|
¤Ç¤¢¤ì¤Ð, $B$ ¤ÎÉôʬ¤Ï |
|
\begin{quote} |
|
(CMO\_LIST, {\sl int32} $5$, |
|
(CMO\_INT32, SM\_popCMO), (CMO\_INT32, SM\_popString), |
|
(CMO\_INT32, SM\_mathcap), |
|
(CMO\_INT32, SM\_executeStringByLocalParser)) |
|
\end{quote} |
|
¤È¤Ê¤ê, |
|
CMO ·Á¼°¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô, ʸ»úÎó, mathcap , ¥ê¥¹¥È¹½Â¤¤Î¤ß¤¬ |
|
¼õ¤±¼è¤ì¤ë¤È¤¤Ë¤Ï, $C$ ¤ÎÉôʬ¤Ï |
|
\begin{quote} |
|
(CMO\_LIST, {\sl int32} $1$, \\ |
|
\ \ (CMO\_LIST, {\sl int32} $2$, (CMO\_INT32, OX\_DATA), \\ |
|
\ \ \ \ (CMO\_LIST, {\sl int32} $4$, |
|
(CMO\_INT32, CMO\_INT32), (CMO\_INT32, CMO\_STRING), |
|
(CMO\_INT32, CMO\_MATHCAP), (CMO\_INT32, CMO\_LIST)))) |
|
\end{quote} |
|
¤È¤Ê¤ë. |
|
|
|
% ¤Ê¤ª, ¤³¤Î mathcap ¤Ç¤Ï, ¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤¬Íý²ò¤Ç¤¤ë¤«¤É¤¦¤« |
|
% ¤Þ¤Ç¤Ïʬ¤«¤é¤Ê¤¤¤Î¤ÇÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ë. |
|
|
\section{¥»¥¥å¥ê¥Æ¥£Âкö} |
\section{¥»¥¥å¥ê¥Æ¥£Âкö} |
|
|
OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë¡£ |
OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë. ¥Í¥Ã¥È¥ï¡¼¥¯ |
¥Í¥Ã¥È¥ï¡¼¥¯¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ¡¢ |
¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ, OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿® |
OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿®»þ¤Î¥»¥¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë¡£ |
»þ¤Î¥»¥¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë. °Ê²¼, ¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦. |
°Ê²¼¡¢¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ |
|
|
|
{\large\bf °ÕÌ£ÉÔÌÀ¤Ê¤³¤È¤ò½ñ¤¤¤Æ¤¤¤ë¤¬¡¢} |
{\large\bf °ÕÌ£ÉÔÌÀ¤Ê¤³¤È¤ò½ñ¤¤¤Æ¤¤¤ë¤¬, } |
|
|
¿¯Æþ¼Ô¤Ë¹¶·â¤Îµ¡²ñ¤ò¤Ç¤¤ë¤À¤±Í¿¤¨¤Ê¤¤¤è¤¦¤¹¤ë¤¿ |
OpenXM ¤Ç¤Ï¿¯Æþ¼Ô¤Ë¹¶·â¤Îµ¡²ñ¤ò¤Ç¤¤ë¤À¤±Í¿¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤¿¤á, |
¤á¤Ë¡¢Àܳ¤¬É¬Íפˤʤä¿»þ¤Î¤ßÀܳ¤òÂԤĤ褦¤Ë¤·¡¢ |
Àܳ¤¬É¬Íפˤʤä¿»þ¤Î¤ßÀܳ¤òÂԤĤ褦¤Ë¤·, |
¾ï¤ËÀܳ¤Ë´ØÍ¿¤¹¤ë¤È¤¤¤Ã¤¿¤³¤È¤ÏÈò¤±¤Æ¤¤¤ë(¤ä¤Ã¤Ñ¤ê°ÕÌ£ÉÔÌÀ¤Ç¤¢¤ë)¡£ |
¾ï¤ËÀܳ¤Ë´ØÍ¿¤¹¤ë¤È¤¤¤Ã¤¿¤³¤È¤ÏÈò¤±¤Æ¤¤¤ë. |
|
|
¤Þ¤¿¡¢¿¯Æþ¼Ô¤¬Àܳ¤ò¹Ô¤Ê¤¦°ì½Ö¤Î¤¹¤¤òÁÀ¤Ã¤Æ¤¯¤ë²ÄǽÀ¤â¤¢¤ë¤Î¤Ç¡¢ |
(ɽ¸½¤ò¾¯¤·¤«¤¨¤¿¤À¤±¤Ç¤Ï¤À¤á¤Ç¤·¤ç¤¦. ÆâÍƤ¬¤ï¤«¤é¤Ê¤¤¤ó¤À¤«¤é. ) |
Àܳ¤ò¹Ô¤Ê¤¦»þ¤ËÀܳ¤òÂԤĥݡ¼¥ÈÈÖ¹æ¤ò¥é¥ó¥À¥à¤Ë·è¤á¤Æ¤¤¤ë(郎·è¤á¤Æ¤¤ |
|
¤ë¤Î¤«¤Ï¤ä¤Ã¤Ñ¤êÉÔÌÀ¤Ç¤¢¤ë¤¬)¡£ |
|
¤µ¤é¤Ë¤â¤¦°ìÃÊ°ÂÁ´À¤ò¹â¤á¤ë¤¿¤á¤Ë¡¢ |
|
Àܳ»þ¤Ë 1 ²ó¤À¤±»ÈÍѲÄǽ¤Ê¥Ñ¥¹¥ï¡¼¥É¤òºîÀ®¤·¡¢ |
|
¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤Ã¤Æǧ¾Ú¤ò¹Ô¤Ê¤¦(郎¥Ñ¥¹¥ï¡¼¥É¤ò·è¤á¤Æ郎ǧ¾Ú¤ò¹Ô¤Ã |
|
¤Æ¤¤¤ë¤Î¤«¤¬ÉÔÌÀ¤À¤±¤É)¡£ |
|
¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï°ìö»ÈÍѤµ¤ì¤ì¤Ð̵¸ú¤Ë¤¹¤ë¤Î¤Ç¡¢ |
|
¤â¤·²¾¤Ë¤Ê¤ó¤é¤«¤Î¼êÃʤǥѥ¹¥ï¡¼¥É¤¬±Ì¤ì¤¿¤È¤·¤Æ¤â°ÂÁ´¤À¤È¹Í¤¨¤Æ¤¤¤ë¡£ |
|
|
|
%¤Ê¤ª¡¢¾åµ¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤Ï°ÂÁ´¤Ê¼êÃʤÇÁ÷¤é¤ì¤Æ |
¤·¤«¤·, ¤³¤ì¤À¤±¤Ç¤Ï¿¯Æþ¼Ô¤¬Àܳ¤ò¹Ô¤Ê¤¦°ì½Ö¤Î¤¹¤¤òÁÀ¤ï¤ì¤ë²ÄǽÀ¤â¤¢¤ë. |
%¤¤¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¡£ |
¤½¤³¤ÇÀܳ¤ò¹Ô¤Ê¤¦»þ¤Ë, Àܳ¤òÂÔ¤Ä port ÈÖ¹æ¤ò¥é¥ó¥À¥à¤Ë·è¤á¤Æ¤¤¤ë. |
%¤Þ¤¿¡¢Æ±°ì¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ë°°Õ¤Î¤¢¤ë¥æ¡¼¥¶¤Ï¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ¤¤¤ë |
¤³¤¦¤¹¤ë¤³¤È¤Ç, ÆÃÄê¤Î port ÈÖ¹æ¤òÁÀ¤Ã¤ÆÀܳ¤ò¹Ô¤Ê¤¦¼ê¸ý¤ò´ö¤é |
%¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ |
¤«Ëɤ°¤³¤È¤¬¤Ç¤¤ë. |
%¤Ê¤¼¤Ê¤é¡¢¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¥µ¡¼¥Ð¡¢¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤ÎÆ°ºî¤·¤Æ¤¤¤ë |
|
%¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Ï¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤¬¤ï¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¢¤ë¡£ |
|
|
|
¤Ê¤ª¡¢Àܳ¤¬³ÎΩ¤·¤¿¸å¤Î¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿®¤Ë´Ø¤·¤Æ¤Ï¡¢ |
¤µ¤é¤Ë¤â¤¦°ìÃÊ°ÂÁ´À¤ò¹â¤á¤ë¤¿¤á¤Ë, Àܳ»þ¤Ë 1 ²ó¤À¤±»ÈÍѲÄǽ¤Ê¥Ñ¥¹¥ï¡¼ |
Æä˰Ź沽¤Ê¤É¤Î½èÃÖ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ |
¥É¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ºîÀ®¤·, ¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤Ã¤Æǧ¾Ú¤ò¹Ô¤Ê¤¦. |
¤â¤·É¬Íפ¬¤¢¤ì¤Ð¡¢ÄÌ¿®Ï©¤Î°Å¹æ²½¤ò¹Ô¤Ê¤¦µ¡Ç½¤¬¤¢¤ë |
¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï°ìö»ÈÍѤµ¤ì¤ì¤Ð̵¸ú¤Ë¤¹¤ë¤Î¤Ç, |
¥½¥Õ¥È¥¦¥§¥¢ ssh ¤ò»È¤¦¤³¤È¤ò¹Í¤¨¤Æ¤¤¤ë¡£ |
¤â¤·²¾¤Ë¤Ê¤ó¤é¤«¤Î¼êÃʤǥѥ¹¥ï¡¼¥É¤¬±Ì¤ì¤¿¤È¤·¤Æ¤â°ÂÁ´¤Ç¤¢¤ë. |
|
|
|
¤Ê¤ª, ¾åµ¤Î port ÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤Ï°ÂÁ´¤Ê¼êÃʤÇÁ÷¤é¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ¤¤ |
|
¤ë. ¤Þ¤¿, Ʊ°ì¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ë°°Õ¤Î¤¢¤ë¥æ¡¼¥¶¤Ï¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ¤¤¤ë¤³ |
|
¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤. ¤Ê¤¼¤Ê¤é, ¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¥µ¡¼¥Ð, ¤ª¤è¤Ó¥¯¥é¥¤ |
|
¥¢¥ó¥È¤ÎÆ°ºî¤·¤Æ¤¤¤ë¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Ï¤³¤Î port ÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤¬¤ï¤«¤Ã |
|
¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¢¤ë. |
|
|
|
¤Ê¤ª, Àܳ¤¬³ÎΩ¤·¤¿¸å¤Î¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿®¤Ë´Ø¤·¤Æ¤Ï, Æä˰Ź沽¤Ê¤É¤Î½è |
|
ÃÖ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤. ¤â¤·É¬Íפ¬¤¢¤ì¤Ð, ÄÌ¿®Ï©¤Î°Å¹æ²½¤ò¹Ô¤Ê¤¦µ¡Ç½ |
|
¤¬¤¢¤ë¥½¥Õ¥È¥¦¥§¥¢ ssh ¤ò»È¤¦¤³¤È¤Ë¤·¤Æ¤¤¤ë. |
|
|
|
|
\section{¾¤Î¥×¥í¥¸¥§¥¯¥È} |
\section{¾¤Î¥×¥í¥¸¥§¥¯¥È} |
|
|
¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦¡£ |
¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦. |
|
|
\begin{itemize} |
\begin{itemize} |
\item OpenMath |
\item OpenMath |
|
|
OpenMath ¥×¥í¥¸¥§¥¯¥È¤Ï¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò |
http://www.openmath.org/omsoc/ A.M.Cohen |
¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çɽ¸½¤¹¤ëÊýË¡¤ò·èÄꤷ¤Æ¤¤¤ë¡£ |
|
³Æ¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ò´¹¤¹¤ëºÝ¤Î |
|
¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊÑ´¹¼ê½ç¤Ë¤Ä¤¤¤Æ¤â½Ò¤Ù¤é¤ì¤Æ¤¤¤ë¡£ |
|
ɽ¸½ÊýË¡¤Ï°ì¤Ä¤À¤±¤Ç¤Ê¤¯¡¢ XML ɽ¸½¤ä binary ɽ¸½¤Ê¤É¤¬ |
|
ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ |
|
¾ÜºÙ¤Ï |
|
|
|
http://www.openmath.org/omsoc/index.html A.M.Cohen |
¤³¤Î¥×¥í¥¸¥§¥¯¥È¤Ï¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çɽ¸½¤¹¤ëÊý |
|
Ë¡¤òµ¬Äꤷ¤Æ¤¤¤ë. |
|
%³Æ¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ò´¹¤¹¤ëºÝ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊÑ´¹¼ê½ç¤Ë |
|
%¤Ä¤¤¤Æ¤âÄê¤á¤é¤ì¤Æ¤¤¤ë. |
|
ɽ¸½ÊýË¡¤Ï´ö¤Ä¤«¤ÎÃʳ¬¤ÇÄê¤á¤é¤ì¤Æ¤¤¤Æ, |
|
XML ɽ¸½¤ä¥Ð¥¤¥Ê¥êɽ¸½¤Ê¤É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë. |
|
|
|
|
\item NetSolve |
\item NetSolve |
|
|
http://www.cs.utk.edu/netsolve/ |
http://www.cs.utk.edu/netsolve/ |
|
|
|
¥Í¥Ã¥È¥ï¡¼¥¯¤ò»È¤¤, ·×»»µ¡¤Î»ñ¸»¤ò |
|
|
|
|
\item MP |
\item MP |
|
|
http://symbolicNet.mcs.kent.edu/SN/areas/protocols/mp.html |
http://symbolicNet.mcs.kent.edu/SN/areas/protocols/mp.html |
|
|
|
|
\item MCP |
\item MCP |
|
|
http://horse.mcs.kent.edu/~pwang/ |
http://horse.mcs.kent.edu/~pwang/ |
Line 510 http://horse.mcs.kent.edu/~pwang/ |
|
Line 610 http://horse.mcs.kent.edu/~pwang/ |
|
|
|
\section{¸½ºßÄ󶡤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢} |
\section{¸½ºßÄ󶡤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢} |
|
|
¸½ºß OpenXM µ¬³Ê¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï |
¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ïasir, sm1, Mathematica ¤¬¤¢¤ë. |
asir, sm1, Mathematica ¤¬¤¢¤ë¡£ |
¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é OpenXM µ¬Ìó¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³¤È |
¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é |
¤¬¤Ç¤¤ë. ¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï, asir, |
OpenXM µ¬³Ê¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤¤ë¡£ |
sm1, gnuplot, Mathematica, PHC pack ¤Ê¤É¤¬¤¢¤ê, |
¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï¡¢ |
¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, ox\_sm1\_gnuplot, ox\_math, ox\_sm1\_phc |
asir, sm1, gnuplot, Mathematica ¤Ê¤É¤¬¤¢¤ê¡¢ |
¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë. ¤Þ¤¿, OpenMath |
¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, ox\_sm1\_gnuplot, ox\_math |
µ¬Ìó¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤È CMO ·Á¼°¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÊÑ´¹¤¹ |
¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ |
¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê, OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ |
¤Þ¤¿¡¢ OpenMath µ¬³Ê¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤È CMO ·Á¼°¤Î |
¤ì¤Æ¤¤¤ë. |
¥ª¥Ö¥¸¥§¥¯¥È¤òÊÑ´¹¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢ |
|
OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ |
|
|
|
\begin{thebibliography}{99} |
\begin{thebibliography}{99} |
\bibitem{Ohara-Takayama-Noro-1999} |
\bibitem{Ohara-Takayama-Noro-1999} |