CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C File Name: bench11f.h C C Functional Description: The header file bench11.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/08/12 19:46:38 $ c $Revision: 1.3 $ c $RCSfile: bench11f.h,v $ c $Name: rel_5 $ 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 _CRAYMPP # include "craymppf.h" #elif defined __alpha # include "decalphaf.h" #elif defined __crayx1 # include "craysv2f.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 # define MPHL 2 # define MPALLOC 1 # define MPSIZE 2 # define MPDATA 3 # 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, MAXNUMSIZE, MAXDECIMALDIG INTEGER MAXBITSIZE, MAXWDS, MAXMODSIZE c c The size of the largest matrix accepted by the program c Fpr MPP's with non-shared memory, it's largest local submatrix PARAMETER (MAXMATSIZE = 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)