PROGRAM CCA9 C BENCHMARK CCA9, FOPR02, BINOMIAL C CENTRAL COMPUTER AGENCY PROGRAM FOPR02 C BENCHMARK NO 9 = BINOMIAL IN NPL REPORT NAC62 C-------------------------------------------------------- C LAWRENCE LIVERMORE LAB. MODIFICATION OF NPL BENCHMARK C MODIFIED FOR AUTOMATIC TIMING OF BENCHMARK C USER SHALL MODIFY THIS PROGRAM IN THE AREAS INDICATED C TO PROVIDE AUTOMATIC TIMING. (SEE BELOW) C USER SHALL RUN THIS BENCHMARK TWICE, C ONCE WITH LOGICAL UNIT 6 SET TO A NULL DEVICE C AND ONCE WITH LOGICAL UNIT 6 SET TO A PRINTING DEVICE. C LOGICAL UNIT 7 SHALL ALWAYS BE SET TO A PRINTING DEVICE. C-------------------------------------------------------- C THIS PROGRAM HAS FOUR PARAMETERS BUT IA CAN BE FIXED AT 2 C AND ID CAN BE FIXED AT 4 C SET IE=77 AND IB=48 FOR MACHINE OF THE POWER OF 360/65 C SET IE=35 AND IB=23 FOR MACHINE OF 1/10 OF POWER OF 360/65 C SET IE=77 AND IB=485 FOR MACHINE TEN TIMES THE POWER OF 360/65 DIMENSION COMB(501) C------------------------------------------------------------ C USER SHALL MODIFY THIS TO SET "STIME" TO A REFERENCE TIME C IN SECONDS (ACCURATE TO AT LEAST ONE SECOND). C------------------------------------------------------------- STIME=SECNDS(0.0) IA = 2 IB = 48 IC=9*IB ID = 4 IE = 77 AA=10*IB DO 600 M=1,IA BC=0.0 BB=1.0 DO 500 N=1,IE DO 400 K=IB,IC,ID AK=K L=N+1 MM=L/2 COMB(1)=1.0 COMB(L)=1.0 DO 120 I=2,MM AI=I-1 L=L-1 AN=L COMB(I)=AN/AI*COMB(I-1) 120 COMB(L)=COMB(I) IF(N+1-MM*2)150,151,150 150 COMB(L-1)=(AN-1.0)/(AI+1.0)*COMB(L) 151 L=N+1 Q=AK/AA P=1.0-Q BI=Q**N BII=BI DO 160 I=2,L BI=BI*COMB(I)/COMB(I-1)*P/Q 160 BII=BII+BI 400 BB=BB*BII 500 BC=BC+BII D WRITE(6,200)M,BB,BC D 200 FORMAT(I6,2F30.24) 600 CONTINUE C------------------------------------------------------------ C USER SHALL MODIFY THIS TO SET "TTIME" TO TOTAL AMOUNT OF C ELAPSED TIME SINCE "STIME" IN SECONDS. C------------------------------------------------------------- TTIME=SECNDS(STIME) C LLL MODIFICATION TO PRINT TOTAL ELAPSED TIME OF BENCHMARK TTIME = TTIME/60.0 WRITE(6,1000)TTIME 1000 FORMAT(' BENCHMARK 9 EXECUTION TIME IS ',F8.4,' MINUTES') C-------------------------------------------------------------- STOP END