home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware 1 2 the Maxx
/
sw_1.zip
/
sw_1
/
PROGRAM
/
TPL60N14.ZIP
/
TESTPRGS.ZIP
/
ROUNDTST.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-05-01
|
2KB
|
68 lines
PROGRAM RoundTst; { Copyright (c) 1992 Norbert Juffa }
VAR X,Y,Z: REAL;
I: LONGINT;
BEGIN
Y := 4.5;
Z := 5.5;
WriteLn ('Testing implementation of Round/Trunc for correct range and IEEE-rounding');
WriteLn;
WriteLn;
Write ('Testing range of Round towards lower limit ... ');
X := -2147483647.0;
REPEAT
I := Round (X);
X := X - 1.0/256.0;
UNTIL X < -2147483648.5;
WriteLn ('passed');
WriteLn;
Write ('Testing range of Round towards upper limit ... ');
X := 2147483647.0;
REPEAT
I := Round (X);
X := X + 1.0/256.0;
UNTIL X >= 2147483647.5;
WriteLn ('passed');
WriteLn;
Write ('Testing range of Trunc towards lower limit ... ');
X := -2147483647.0;
REPEAT
I := Trunc (X);
X := X - 1.0/256.0;
UNTIL X <= -2147483649.0;
WriteLn ('passed');
WriteLn;
Write ('Testing range of Trunc towards upper limit ... ');
X := 2147483647.0;
REPEAT
I := Trunc (X);
X := X + 1.0/256.0;
UNTIL X >= 2147483648.0;
WriteLn ('passed');
WriteLn;
Write ('Round (4.5) should be: 4, actual value is: ', Round (Y));
IF Round (Y) = 4 THEN
WriteLn (' passed')
ELSE
WriteLn (' failed');
Write ('Round (5.5) should be: 6, actual value is: ', Round (Z));
IF Round (Z) = 6 THEN
WriteLn (' passed')
ELSE
WriteLn (' failed');
WriteLn;
Y := -4.5;
Z := -5.5;
Write ('Round (-4.5) should be:-4, actual value is:', Round (Y));
IF Round (Y) =-4 THEN
WriteLn (' passed')
ELSE
WriteLn (' failed');
Write ('Round (-5.5) should be:-6, actual value is:', Round (Z));
IF Round (Z) =-6 THEN
WriteLn (' passed')
ELSE
WriteLn (' failed');
END. { RoundTst }