MODULE log10k; FROM MathLib IMPORT Ln; (* T.A. Elkin's Log(10K!) Benchmark. Computes number of decimal digits in 10,000 factorial. Exact answer is 35660 See COMPUTERWORLD. 3/20/87 for more info. Adapted from the CP/M Basic Version by Jim Lill 7/20/87 Comparision Times: IBM Compatible, GW-BASIC: 149 secs MBASIC 5.0 @ 10MHz: 110 secs Turbo Pascal (CP/M @10MHz): 108 secs Turbo Modula-2 (CP/M 10MHz), M-code: 55 secs Turbo Modula-2 (CP/M 10MHz), Z80-code: >55 secs *) CONST exact = 3566.0E1; VAR i : INTEGER; e,x,y,z : REAL; BEGIN; (*log10k*) z:= 1.0E1; x:= 0.0E0; WRITELN('Elkins Log(10K!) Benchmark',CHR(7)); FOR i := 2 TO 10000 DO y:= FLOAT(i); x:= x + Ln(y); END; WRITELN('Done',CHR(7)); WRITELN('Error: ',(exact- x/Ln(z))) END log10k.