home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
LANGUAGS
/
MODULA2
/
MTMOD2.LBR
/
MTMATH.MZD
/
MTMATH.MOD
Wrap
Text File
|
2000-06-30
|
2KB
|
104 lines
MODULE MTMath;
(* Program tests the speed of math function. *)
(* Each function is timed separately. *)
(* Functions are shown in the import list *)
FROM MathLib0 IMPORT arctan, cos, exp, ln, sin, sqrt;
FROM InOut
IMPORT Read, Write, WriteLn, WriteString;
VAR
i, j: INTEGER;
pi, angle, result, argument: REAL;
dummy: CHAR;
BEGIN
WriteString('START SQUARE ROOT TEST');
WriteLn;
WriteString('PRESS <CR> TO START');
Read(dummy); WriteLn;
FOR i := 1 TO 10 DO
Write('.');
argument := 0.0;
WHILE argument <= 1000.0 DO
result := sqrt(argument);
argument := argument + 1.0
END;
END; (* FOR *)
WriteLn; WriteString('END OF SQUARE ROOT TEST'); WriteLn;
WriteString('START LOG TEST');
WriteLn;
WriteString('PRESS <CR> TO START');
Read(dummy); WriteLn;
FOR i := 1 TO 10 DO
Write('.');
argument := 0.1;
WHILE argument <= 1000.1 DO
result := ln(argument);
argument := argument + 1.0
END;
END; (* FOR *)
WriteLn; WriteString('END OF LOG TEST'); WriteLn;
WriteString('START EXPONENTIAL TEST');
WriteLn;
WriteString('PRESS <CR> TO START');
Read(dummy); WriteLn;
FOR i := 1 TO 10 DO
Write('.');
argument := 0.1;
WHILE argument <= 10.0 DO
result := exp(argument);
argument := argument + 0.01
END;
END; (* FOR *)
WriteLn; WriteString('END OF EXPONENTIAL TEST'); WriteLn;
WriteString('START ARCTANGENT TEST');
WriteLn;
WriteString('PRESS <CR> TO START');
Read(dummy); WriteLn;
FOR i := 1 TO 10 DO
Write('.');
argument := 0.1;
WHILE argument <= 10.0 DO
angle := arctan(argument);
argument := argument + 0.01
END;
END; (* FOR *)
WriteLn; WriteString('END OF ARCTANGENT TEST'); WriteLn;
pi := 355.0 / 113.0;
WriteString('START SINE TEST');
WriteLn;
WriteString('PRESS <CR> TO START');
Read(dummy); WriteLn;
FOR i := 1 TO 10 DO
Write('.');
angle := 0.0;
WHILE angle <= 2.0 * pi DO
result := sin(angle);
angle := angle + pi / 360.0
END;
END; (* FOR *)
WriteLn; WriteString('END OF SINE TEST'); WriteLn;
WriteLn;
WriteString('DONE'); WriteLn; WriteLn;
END MTMath.