#define CMO_ZZ 20
We describe the bignum (multi-precision integer) representation in OpenXM. In OpenXM CMO_ZZ is used to represent bignum. Its design is similar to that in GNU MP. (cf. plugin/cmo-gmp.c in the kan/sm1 distribution). CMO_ZZ is defined as follows.
|int32 CMO_ZZ||int32 f||int32 b0||int32 bn|
f is a 32bit integer. are unsigned 32bit integers. |f| is equal to n+1. The sign of f represents that of the above CMO. As stated in Section 2, a negative 32bit integer is represented by two's complement.
In OpenXM the above CMO represents the following integer. ( R = 232.)
If we express int32 by the network byte order, a CMO_ZZ 14 is expressed by
Note that CMO_ZZ 0 is expressed by (CMO_ZZ, 00,00,00,00).