/* BigNum←internal.h - Types and structures internal to BigNum and BigZ */ #ifndef BIGNUM←INTERNAL←H #define BIGNUM←INTERNAL←H /* * Description des types et constantes internes. */ /* Un nombre est un pointeur sur des UnitN a` la suite d'un ente↑te de'crivant * le type et la taille du tableau. * .------------------------------------------.......----------------------. * | typeN | lenN=N | Unit0 | Unit1 | | UnitN-2 | UnitN-1 | * `------------------------------------------.......----------------------' * ↑ ↑ * | | * BigNumHeader BigNum * */ /* The following declarations are internal to the BigNum package: */ typedef unsigned int BigNumProduct; /* The product of two digits */ struct BigNumHeader { /* The header of a BigNum */ BigNumType type; int length; }; #define BN←TYPE(n) (((struct BigNumHeader *) n) - 1)->type #define BN←LENGTH(n) (((struct BigNumHeader *) n) - 1)->length #endif BIGNUM←INTERNAL←H