CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C File Name: craymppf.h C C Functional Description: The header file craympp.h defines C macros used by FORTRAN code on the CRAY-X1 when implementing C the bench11 multiple precision benchmark routines. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC c CVS Info c $Date: 2005/01/10 21:17:58 $ c $Revision: 1.2 $ c $RCSfile: crayx1f.h,v $ c $Name: rel_5 $ C On the X1, the INTEGER type is the largest supported type. #define MPLONG INTEGER(kind=8) C The total number of bits in an MPLONG #define WORDLEN 64 C The number of bits in each digit word used by the multiple C precision structure (normally WORDLEN/2). #ifdef GMP # define BITSPERWORD 64 # define INT32 0 #else # define BITSPERWORD 32 #endif C The number of usable bits in the mantissa of a double C (Look in the file /usr/include/float.h) C Also define a fudge factor so that for any values of C rem and div: C floor(rem/div) > int(float(rem-DIVFUDGE*2^stuff)/float(div)) C where float(x) is the double precision representation C of the top DBL_MANT_DIG-1 bits of x and stuff is chosen so C DIVFUDGE effects only the bottom bits of those chosen by float. C #define DBL_MANT_DIG 53 #define DIVFUDGE 3 C There are 64 bits in an INTEGER on the T3D/E. This is important C because many functions return an INTEGER, not an MPLONG #define INTEGER_BITS 64 #define VECTLEN 64 C Define a string containing a single backslash #define BACKSLASH "\\"