next up previous contents
Next: Various identifiers Up: Overview Previous: Pair production   Contents

Portability issues

The principal difficulty in moving mcfgen from one machine to another is that the code was originally written under the assumption that real numbers and integers occupy the same amount of storage. This assumption is now made only for the binary file `library'. Accommodation of different storage lengths is made by setting the parameter INTS_REALS in the file `machdep.h'. The value of INTS_REALS is to be set equal to

$\displaystyle \tt sizeof(REAL)/sizeof(INTEGER)$.

Thus, on a Cray $ \tt INTS\_REALS$ = 1 and on a Sun $ \tt INTS\_REALS$ = 2.

The only other portability issue for mcfgen is that the entire implementation of the routine etrnc depends on the machine precision of real numbers. This routine is used to test for near equality of reals.

The code mcfbin is still written with the assumption that integers and real numbers occupy the same amount of storage. This is so far not a problem, because mcfbin is intended only for the Cray. We mentioned earlier that a Sun version of this code is available, but it uses a compiler option to enforce the equal-storage assumption.


next up previous contents
Next: Various identifiers Up: Overview Previous: Pair production   Contents