next up previous contents
: Bigfloat32 : CMOexpressions for numbers and : Recursive polynomials   ܼ

CPU dependent double

#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

Group CMObject/MachineDouble requires CMObject/Primitive.
64bit machine double, Array of 64bit machine double 128bit machine double, Array of 128bit machine double $\in$ CMObject/MachineDouble

\begin{eqnarray*}
\mbox{64bit machine double} &:&
\mbox{({\tt CMO\_64BIT\_MACHI...
....}\\
& & \mbox{\quad\quad Need the byte order negotiation.} \\
\end{eqnarray*}

#define CMO_IEEE_DOUBLE_FLOAT 51

See IEEE 754 double precision floating-point (64 bit) for the details of float compliant to the IEEE standard.

The internal expression of 256.100006 in the Intel Pentium is cd 0c 80 43
The internal expression of 256.100006 in the PowerPC (Mac) is 43 80 0c cd . As you have seen in this example, the orders of the bytes are opposite each other. The byte order is specified by the byte order negotiation protocol when the engine starts.



Nobuki Takayama Heisei 28.8.27.