version 1.4, 2000/01/24 02:48:24 |
version 1.7, 2000/01/24 12:32:49 |
|
|
%% $OpenXM: OpenXM/doc/OpenXM-specs/cmo-basic1.tex,v 1.3 2000/01/23 05:28:33 noro Exp $ |
%% $OpenXM: OpenXM/doc/OpenXM-specs/cmo-basic1.tex,v 1.6 2000/01/24 07:49:58 noro Exp $ |
//&jp \section{ 数, 多項式 の CMO 表現 } |
//&jp \section{ 数, 多項式 の CMO 表現 } |
//&eg \section{ CMOexpressions for numbers and polynomials } |
//&eg \section{ CMOexpressions for numbers and polynomials } |
\label{sec:basic1} |
\label{sec:basic1} |
|
|
以下, グループ CMObject/Basic, CMObject/Tree |
以下, グループ CMObject/Basic, CMObject/Tree |
および CMObject/DistributedPolynomial |
および CMObject/DistributedPolynomial |
に属する CMObject の形式を説明する. |
に属する CMObject の形式を説明する. |
\noroa{ tagged list を導入すべきか? cf. SSkan/plugin/cmo.txt } |
|
|
|
|
\noindent |
|
{\tt OpenXM/src/ox\_toolkit} にある {\tt bconv} をもちいると |
|
CMO expression を binary format に変換できるので, |
|
これを参考にするといい. |
*/ |
*/ |
/*&eg |
/*&eg |
In the sequel, we will explain on the groups |
In the sequel, we will explain on the groups |
CMObject/Basic, CMObject/Tree |
CMObject/Basic, CMObject/Tree |
and CMObject/DistributedPolynomial. |
and CMObject/DistributedPolynomial. |
|
|
|
\noindent |
|
The program {\tt bconv} at {\tt OpenXM/src/ox\_toolkit} |
|
translates |
|
CMO expressions into binary formats. |
|
It is convinient to understand the binary formats explained in |
|
this section. |
*/ |
*/ |
|
|
|
/*&C |
|
\noindent Example: |
|
\begin{verbatim} |
|
bash$ ./bconv |
|
> (CMO_ZZ,123123); |
|
00 00 00 14 00 00 00 01 00 01 e0 f3 |
|
\end{verbatim} |
|
*/ |
/*&jp |
/*&jp |
|
|
\bigbreak |
\bigbreak |
Line 167 stack machine commands for delayed evaluation. |
|
Line 185 stack machine commands for delayed evaluation. |
|
However it makes the implementation of stack machines complicated. |
However it makes the implementation of stack machines complicated. |
It is desirable that CMObject is independent of OX stack machine. |
It is desirable that CMObject is independent of OX stack machine. |
Therefore we introduce an OpenMath like tree representation for CMO |
Therefore we introduce an OpenMath like tree representation for CMO |
tree object. |
Tree object. |
This method allows us to implement tree structure easily |
This method allows us to implement tree structure easily |
on individual OpenXM systems. |
on individual OpenXM systems. |
Note that CMO Tree corresponds to Symbol and Application in OpenMath. |
Note that CMO Tree corresponds to Symbol and Application in OpenMath. |
Line 194 It is the same as the Lambda expression in Lisp. |
|
Line 212 It is the same as the Lambda expression in Lisp. |
|
(CMO_LIST,[size=]1, |
(CMO_LIST,[size=]1, |
(CMO_TREE, (CMO_STRING, "plus"), (CMO_STRING, "basic"), |
(CMO_TREE, (CMO_STRING, "plus"), (CMO_STRING, "basic"), |
(CMO_LIST,[size=]2, (CMO_INDETERMINATE,"x"), |
(CMO_LIST,[size=]2, (CMO_INDETERMINATE,"x"), |
//&jp (CMO_TREE,(CMO_STRING, "e"), 自然対数の底 |
//&jp (CMO_TREE,(CMO_STRING, "e"), 自然対数の底 |
//&eg (CMO_TREE,(CMO_STRING, "e"), Napier's number |
//&eg (CMO_TREE,(CMO_STRING, "e"), the base of natural logarithms |
(CMO_STRING, "basic")) |
(CMO_STRING, "basic")) |
)) |
)) |
) |
) |
) |
) |
Line 677 $\in$ CMObject/MachineDouble \\ |
|
Line 695 $\in$ CMObject/MachineDouble \\ |
|
|
|
\bigbreak |
\bigbreak |
//&jp 次に IEEE 準拠の float および Big float を定義しよう. |
//&jp 次に IEEE 準拠の float および Big float を定義しよう. |
//&eg We define IEEE conformant float and big float. |
//&eg We define float and big float conforming to the IEEE standard. |
\begin{verbatim} |
\begin{verbatim} |
#define CMO_BIGFLOAT 50 |
#define CMO_BIGFLOAT 50 |
#define CMO_IEEE_DOUBLE_FLOAT 51 |
#define CMO_IEEE_DOUBLE_FLOAT 51 |
Line 688 IEEE 準拠の float については, IEEE 754 double precisio |
|
Line 706 IEEE 準拠の float については, IEEE 754 double precisio |
|
format (64 bit) の定義を見よ. |
format (64 bit) の定義を見よ. |
*/ |
*/ |
/*&eg |
/*&eg |
See IEEE 754 double precision floating-point (64 bit) for the details of IEEE |
See IEEE 754 double precision floating-point (64 bit) for the details of |
conformant float. |
float conforming to the IEEE standard. |
*/ |
*/ |
|
|
\noindent |
\noindent |