ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
 
 
 
 
 
 

72 lines
1.9 KiB

  1. PROGRAM FILE 174: EXCEPTION - EVALUATION OF NUMERIC
  2. EXPRESSIONS IN THE PRINT STATEMENT.
  3. ANSI STANDARD 7.5, 8.5, 12.2
  4. THIS PROGRAM TESTS THE EFFECT OF THE VARIOUS EXCEPTIONS THAT
  5. CAN OCCUR IN NUMERIC EXPRESSIONS IN THE CONTEXT OF THE PRINT
  6. STATEMENT.
  7. SECTION 174.1: EXCEPTIONAL EXPRESSIONS AS PRINT-ITEMS.
  8. THIS SECTION TESTS THE EFFECT OF PRINTING EXPRESSIONS WHICH
  9. CAUSE NON-FATAL EXCEPTIONS.
  10. TO PASS THIS TEST:
  11. 1) FOUR EXCEPTIONS MUST BE REPORTED; OVERFLOW, DIVISION
  12. BY ZERO, ZERO RAISED TO A NEGATIVE POWER, AND
  13. OVERFLOW OF EXP FUNCTION, AND
  14. 2) NEGATIVE, NEGATIVE, POSITIVE, AND POSITIVE MACHINE
  15. INFINITY MUST BE SUPPLIED AS THE VALUES OF THE
  16. EXPRESSIONS AND THEN PRINTED.
  17. BEGIN TEST.
  18. ABOUT TO EXECUTE:
  19. PRINT (-1E-33) ^ (-3333), (-1E-33) / 0, 0 ^ (-1E-33), EXP(1E20)
  20. *** Arithmetic Overflow ***
  21. *** Arithmetic Overflow ***
  22. -1.79769E+308 *** WARNING: Divide by 0 ***
  23. -1.79769E+308 *** Arithmetic Overflow ***
  24. 1.79769E+308 *** Arithmetic Overflow ***
  25. 1.79769E+308
  26. IF FOUR EXCEPTIONS REPORTED AND NEGATIVE, NEGATIVE,
  27. POSITIVE, AND POSITIVE INFINITY PRINTED, THEN
  28. *** TEST PASSED ***
  29. END TEST.
  30. SECTION 174.2: EXCEPTIONAL EXPRESSIONS AS TAB-ITEMS.
  31. THIS SECTION TESTS THE EFFECT OF OVERFLOW IN A TAB-ITEM.
  32. TO PASS THIS TEST:
  33. 1) THE OVERFLOW EXCEPTION MUST BE REPORTED, AND
  34. 2) EXECUTION CONTINUES, WITH THE TAB EVALUATING TO
  35. SOME ARBITRARY PRINT POSITION.
  36. BEGIN TEST.
  37. ABOUT TO EXECUTE:
  38. PRINT TAB(9^(9^9));X$
  39. (WHERE X$ = 'X')
  40. 000000000111111111122222222223333333333444444444455555555556666666666777
  41. 123456789012345678901234567890123456789012345678901234567890123456789012
  42. *** Arithmetic Overflow ***
  43. *** WARNING: INVALID TAB() ***
  44. X
  45. IF OVERFLOW EXCEPTION REPORTED, AND 'X' APPEARED FOLLOWING
  46. NUMBERED LINES, THEN
  47. *** TEST PASSED ***
  48. END TEST.
  49. END PROGRAM 174