CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C File Name: bench11f.h C C Functional Description: The header file bench11f.h defines C macros common to the various subroutines in the bench11 C multiple precision arithmetic benchmark. C C This is the Fortran version used in mputil.F when we don't use GMP. C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC c c CVS Info c $Date: 2005/01/10 21:05:27 $ c $Revision: 1.2 $ c $RCSfile: bench11f.h.save,v $ c $Name: rel_5 $ c INTEGER VERBOSE, DEBUG, MYPE, NPES COMMON /VERBOSE/VERBOSE, /DEBUG/DEBUG, /MYPE/MYPE, /NPES/NPES c c Define various structures for each machine c #if defined _CRAYX1 # include "crayx1f.h" #elif defined _CRAYMPP # include "craymppf.h" #elif defined _CRAY1 # include "crayf.h" #elif defined __alpha # include "decalphaf.h" #elif defined __hp # include "hpf.h" #endif c c Define the header for MP integers N c MPHL = MP-INT Header Length c N(MPALLOC) = number of words allocated for limbs of N c N(MPSIZE) = number of words actually used c N(MPDATA) = the first word of data, lowest-order limb of N c c define MPHL 2 c define MPALLOC 1 c define MPSIZE 2 c define MPDATA 3 c define GMP32 0 c MPLONG CARRYBIT, BITMASK, BITMASK32, MLTWO c c The MLTWO silliness is to get around those machines on which c the INTEGER data type has no more than BITSPERWORD bits PARAMETER (MLTWO = 2) PARAMETER (BITMASK = (MLTWO**BITSPERWORD - 1)) PARAMETER (BITMASK32 = (MLTWO**32 - 1)) PARAMETER (CARRYBIT = (MLTWO**BITSPERWORD)) c c Maximum values for various parameters c INTEGER MAXMATSIZE, MAXSUBMATSIZE, MAXNUMSIZE, MAXDECIMALDIG INTEGER MAXBITSIZE, MAXWDS, MAXMODSIZE c c The size of the largest matrix accepted by the program PARAMETER (MAXMATSIZE = 1024) c c The size of the largest local submatrix on each PE PARAMETER (MAXSUBMATSIZE = 512) c c The size (number of limbs or digit words) plus MPHL = header-length c of the largest multiple precision number accepted by the program c 32 / 64 BITSPERWORD c Up to 128 bits (M3: 128) - 8 / 4 limbs c Up to 544/576 bits (M8: 514) - 17 / 9 limbs c Up to 1024 bits (M10: 999) - 32 / 16 limbs PARAMETER (MAXBITSIZE = 1024) c c The size (number of limbs or digit words) plus MPHL = header-length c of the largest multiple precision number accepted by the program PARAMETER (MAXWDS = (MAXBITSIZE+BITSPERWORD-1)/BITSPERWORD) PARAMETER (MAXNUMSIZE = MAXWDS + MPHL) c GMP may need extra words to read max modulus PARAMETER (MAXMODSIZE = MAXNUMSIZE + 2) c c The number of decimal digits in the largest multiple c precision number accepted by the program PARAMETER (MAXDECIMALDIG = MAXBITSIZE/3)