ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

122 lines
9.6 KiB

  1. PROGRAM FILE 27: ACCURACY OF CONSTANTS AND VARIABLES.
  2. ANSI STANDARD 5.2, 5.4, 6.2, 6.4, 10.4
  3. *** NOTE: THIS PROGRAM MAKES USE OF THE ON-GOTO STATEMENT
  4. AND FOR-BLOCKS (THE FOR AND NEXT STATEMENTS) WHICH
  5. HAVE NOT YET BEEN TESTED. IF SUBSEQUENT TESTS SHOW
  6. THESE FEATURES TO BE INCORRECTLY IMPLEMENTED, THEN THE
  7. VALIDITY OF THE RESULTS OF THIS TEST ROUTINE IS DOUBTFUL.
  8. THIS PROGRAM TESTS THE LEVEL OF ACCURACY OF NUMERIC VALUE,
  9. USING THE IF-THEN STATEMENT.
  10. SECTION 27.1: ACCURACY IN COMPARISON OF VARIABLES.
  11. THIS SECTION COMPARES TWO VARIABLES WHICH HAVE BEEN ASSIGNED
  12. NUMERICALLY 'CLOSE' VALUES AND THEN DETERMINES WHETHER THE
  13. IMPLEMENTATION CAN DISTINGUISH BETWEEN THEN OR IF THEY ARE
  14. TREATED AS EQUAL.
  15. BEGIN TEST.
  16. NUMERIC VALUES DIGITS OF RESULT OF
  17. BEING COMPARED DECIMAL COMPARISONS
  18. ACCURACY > =
  19. 9.876543212E-7 : 9.876533E-7 6 T F
  20. 9.876543212E-7 : 9.8765422E-7 7 T F
  21. 9.876543212E-7 : 9.87654311E-7 8 T F
  22. 9.876543212E-7 : 9.876543201E-7 9 T F
  23. *** TEST INDICATES DECIMAL ACCURACY OF AT LEAST 9 DIGITS. ***
  24. IF DOCUMENTATION FOR THE IMPLEMENTATION-DEFINED ACCURACY
  25. FOR NUMERIC VALUES IS COMPATIBLE WITH THIS RESULT, THEN
  26. *** TEST PASSED ***
  27. END TEST.
  28. SECTION 27.2: ACCURACY IN THE COMPARISON OF VARIABLES
  29. WITH CONSTANTS.
  30. THIS SECTION COMPARES A VARIABLE AND A CONSTANT WHICH HAVE
  31. NUMERICALLY 'CLOSE' VALUES AND THEN DETERMINES WHETHER THE
  32. IMPLEMENTATION CAN DISTINGUISH BETWEEN THEM OR IF THEY ARE
  33. TREATED AS EQUAL.
  34. BEGIN TEST.
  35. NUMERIC VALUES DIGITS OF RESULT OF
  36. BEING COMPARED DECIMAL COMPARISONS
  37. ACCURACY > =
  38. -9.999988888E36 : -9.999999E36 6 T F
  39. -9.999988888E36 : -9.9999899E36 7 T F
  40. -9.999988888E36 : -9.99998899E36 8 T F
  41. -9.999988888E36 : -9.999988899E36 9 T F
  42. *** TEST INDICATES DECIMAL ACCURACY OF AT LEAST 9 DIGITS. ***
  43. IF DOCUMENTATION FOR THE IMPLEMENTATION-DEFINED ACCURACY
  44. FOR NUMERIC VALUES IS COMPATIBLE WITH THIS RESULT, THEN
  45. *** TEST PASSED ***
  46. END TEST.
  47. SECTION 27.3: ACCURACY IN THE COMPARISON OF CONSTANTS.
  48. THIS SECTION COMPARES TWO CONSTANTS WHICH HAVE
  49. NUMERICALLY 'CLOSE' VALUES AND THEN DETERMINES WHETHER THE
  50. IMPLEMENTATION CAN DISTINGUISH BETWEEN THEM OR IF THEY ARE
  51. TREATED AS EQUAL.
  52. BEGIN TEST.
  53. NUMERIC VALUES DIGITS OF RESULT OF
  54. BEING COMPARED DECIMAL COMPARISONS
  55. ACCURACY < =
  56. 9.40395E-37 : 9.40396E-37 6 T F
  57. 9.40395E-37 : 9.403951E-37 7 T F
  58. 9.40395E-37 : 9.4039501E-37 8 T F
  59. 9.40395E-37 : 9.40395001E-37 9 T F
  60. *** TEST INDICATES DECIMAL ACCURACY OF AT LEAST 9 DIGITS. ***
  61. IF DOCUMENTATION FOR THE IMPLEMENTATION-DEFINED ACCURACY
  62. FOR NUMERIC VALUES IS COMPATIBLE WITH THIS RESULT, THEN
  63. *** TEST PASSED ***
  64. END TEST.
  65. SECTION 27.4: ACCURACY FOR CONSTANTS EXPRESSED WITH
  66. DIFFERENT EXPONENTS.
  67. CONSTANTS MUST BE ACCURATE EVEN WHEN NOT EXPRESSED IN
  68. NORMALIZED FORM (1 <= SIGNIFICAND < 10).
  69. BEGIN TEST.
  70. *** TEST PASSED ***
  71. END TEST.
  72. SECTION 27.5: COMPUTED ACCURACY OF NUMERIC VALUES.
  73. THIS SECTION USES A COMPUTATIONAL ALGORITHM TO ATTEMPT TO
  74. DISCOVER THIS IMPLEMENTATION'S INTERNAL ACCURACY. BECAUSE
  75. THE ALGORITHM RELIES SOMEWHAT ON ACCURACY OF EXPRESSION
  76. EVALUATION, THE RESULTS ARE NOT ABSOLUTELY TRUSTWORTHY AND
  77. SHOULD BE INTERPRETED IN LIGHT OF GENERAL KNOWLEDGE OF
  78. THE CHARACTERISTICS OF THE SYSTEM.
  79. *** THIS TEST IS INFORMATIVE ONLY ***
  80. BEGIN TEST.
  81. COMPUTED ACCURACY = 16 DECIMAL DIGITS.
  82. COMPUTED ACCURACY = 53 BINARY DIGITS.
  83. END TEST.
  84. END PROGRAM 27
  85. Program interrupted at line 6450