|
- PROGRAM FILE 174: EXCEPTION - EVALUATION OF NUMERIC
- EXPRESSIONS IN THE PRINT STATEMENT.
- ANSI STANDARD 7.5, 8.5, 12.2
-
- THIS PROGRAM TESTS THE EFFECT OF THE VARIOUS EXCEPTIONS THAT
- CAN OCCUR IN NUMERIC EXPRESSIONS IN THE CONTEXT OF THE PRINT
- STATEMENT.
-
- SECTION 174.1: EXCEPTIONAL EXPRESSIONS AS PRINT-ITEMS.
-
- THIS SECTION TESTS THE EFFECT OF PRINTING EXPRESSIONS WHICH
- CAUSE NON-FATAL EXCEPTIONS.
-
- TO PASS THIS TEST:
-
- 1) FOUR EXCEPTIONS MUST BE REPORTED; OVERFLOW, DIVISION
- BY ZERO, ZERO RAISED TO A NEGATIVE POWER, AND
- OVERFLOW OF EXP FUNCTION, AND
-
- 2) NEGATIVE, NEGATIVE, POSITIVE, AND POSITIVE MACHINE
- INFINITY MUST BE SUPPLIED AS THE VALUES OF THE
- EXPRESSIONS AND THEN PRINTED.
-
- BEGIN TEST.
-
- ABOUT TO EXECUTE:
- PRINT (-1E-33) ^ (-3333), (-1E-33) / 0, 0 ^ (-1E-33), EXP(1E20)
-
- *** Arithmetic Overflow ***
- *** Arithmetic Overflow ***
- -1.79769E+308 *** WARNING: Divide by 0 ***
- -1.79769E+308 *** Arithmetic Overflow ***
- 1.79769E+308 *** Arithmetic Overflow ***
- 1.79769E+308
-
- IF FOUR EXCEPTIONS REPORTED AND NEGATIVE, NEGATIVE,
- POSITIVE, AND POSITIVE INFINITY PRINTED, THEN
- *** TEST PASSED ***
-
- END TEST.
-
- SECTION 174.2: EXCEPTIONAL EXPRESSIONS AS TAB-ITEMS.
-
- THIS SECTION TESTS THE EFFECT OF OVERFLOW IN A TAB-ITEM.
-
- TO PASS THIS TEST:
-
- 1) THE OVERFLOW EXCEPTION MUST BE REPORTED, AND
-
- 2) EXECUTION CONTINUES, WITH THE TAB EVALUATING TO
- SOME ARBITRARY PRINT POSITION.
-
- BEGIN TEST.
-
- ABOUT TO EXECUTE:
- PRINT TAB(9^(9^9));X$
- (WHERE X$ = 'X')
-
- 000000000111111111122222222223333333333444444444455555555556666666666777
- 123456789012345678901234567890123456789012345678901234567890123456789012
- *** Arithmetic Overflow ***
- *** WARNING: INVALID TAB() ***
- X
-
- IF OVERFLOW EXCEPTION REPORTED, AND 'X' APPEARED FOLLOWING
- NUMBERED LINES, THEN
- *** TEST PASSED ***
-
- END TEST.
-
- END PROGRAM 174
|