#ifndef _BENCH7H_ #define _BENCH7H_ // on Cray it typedefs unit64 # include #ifdef USE_MPI # include # define MPI_INT64 MPI_LONG #endif // USE_MPI #ifdef USE_SHMEM # ifdef CRAY # include # else # include # endif #endif // USE_SHMEM // popcnt and leadz #ifdef CRAY # include # define popcnt _popcnt # define leadz _leadz #else // not CRAY #ifndef SW_POPCNT # define popcnt _popcnt # ifndef BUILTINS # define BUILTINS # include # endif #endif #ifndef SW_LEADZ # define leadz _leadz # ifndef BUILTINS # define BUILTINS # include # endif #endif #endif // not CRAY // 64-bit ints - on system such as SGI that is not LP64, need long long #ifndef CRAY typedef unsigned long uint64; #endif typedef long int64; // length of the A stream buffer in 64 bit words #define BUFSIZE 11264000 // Minimum length of zeros to report. The following code assumes that NZ > 74. // See the notes in routine P7 on the relationship* between the offsets and NZ. #define NZ 100 // max number of start/length answers that will be stored #define MAXANS 1200 // max number of answers that will be checked - 1000 = 5 x 200 buffers #define MAXCKS 1000 #define min(A, B) ((A) < (B) ? (A) : (B)) // local directory for writing the stream A to disk // this is only used in the B7D-* versions that use the disk #define TMPDIR "/tmp" #endif