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.
 
 
 
 
 
 

151 lines
5.7 KiB

  1. 10 PRINT "PROGRAM FILE 121: ACCURACY OF EXP FUNCTION."
  2. 20 PRINT " ANSI STANDARD 7.6, 8.4"
  3. 30 PRINT
  4. 40 PRINT "SECTION 121.1: ACCURACY OF EXP FUNCTION."
  5. 50 PRINT
  6. 60 PRINT "THIS PROGRAM TESTS VALUES RETURNED BY INVOCATIONS OF THE"
  7. 70 PRINT "EXP FUNCTION FOR ACCURACY. THE INVOCATION MUST RETURN,"
  8. 80 PRINT "ACCURATE TO SIX DIGITS, SOME VALUE ACTUALLY TAKEN ON BY"
  9. 90 PRINT "THE FUNCTION WITHIN A DOMAIN BOUNDED BY THE ACTUAL ARGUMENT"
  10. 100 PRINT "PLUS OR MINUS ONE IN THE SIXTH DIGIT. ALSO, AN"
  11. 110 PRINT "'ERROR MEASURE' IS COMPUTED AND REPORTED. THIS MEASURE"
  12. 120 PRINT "IS JUST 2 * THE ABSOLUTE ERROR OVER THE SIZE OF THE RANGE;"
  13. 130 PRINT "THUS, A VALUE JUST BARELY PASSING OR FAILING WILL USUALLY"
  14. 140 PRINT "HAVE A MEASURE OF ABOUT 1. A VALUE 3 TIMES"
  15. 150 PRINT "AS INACCURATE AS EXPECTED WILL HAVE A MEASURE OF 3."
  16. 160 PRINT
  17. 170 PRINT "THIS TEST IS INFORMATIVE ONLY, SINCE THE ANSI STANDARD"
  18. 180 PRINT "DOES NOT MANDATE ANY ACCURACY FOR SUPPLIED-FUNCTIONS."
  19. 190 PRINT
  20. 200 PRINT " BEGIN TEST"
  21. 210 PRINT
  22. 220 PRINT "ARGUMENT","TRUE","COMPUTED","ERROR","OUTCOME"
  23. 230 PRINT " ","VALUE","VALUE","MEASURE"
  24. 240 PRINT
  25. 250 LET F=0
  26. 260 READ A,T,L,H
  27. 270 IF A=999 THEN 2000
  28. 280 LET C=EXP(A)
  29. 290 IF C=T THEN 333
  30. 300 IF C<L THEN 444
  31. 310 IF C>H THEN 444
  32. 320 LET O$=" OK "
  33. 330 GOTO 500
  34. 333 LET O$=" OK - EXACT"
  35. 340 GOTO 500
  36. 444 LET O$="FAIL"
  37. 445 LET F=F+1
  38. 450 GOTO 500
  39. 500 LET R=H-L
  40. 510 IF R=0 THEN 700
  41. 520 LET E=ABS((C-T)/R)
  42. 525 LET E=E+E
  43. 530 PRINT A,T,C,E,O$
  44. 540 GOTO 260
  45. 700 PRINT A,T,C,"RANGE ZERO",O$
  46. 710 GOTO 260
  47. 2000 PRINT
  48. 2010 IF F=0 THEN 2100
  49. 2020 PRINT "*** INFORMATIVE TEST FAILED IN ";F;" CASE(S) ***"
  50. 2030 GOTO 2110
  51. 2100 PRINT "*** INFORMATIVE TEST PASSED ***"
  52. 2110 PRINT
  53. 2120 PRINT " END TEST"
  54. 2130 PRINT
  55. 2140 PRINT "END PROGRAM 121"
  56. 3000 DATA -0.874981000E+02, 0.100013354E-37
  57. 3010 DATA 0.100002853E-37, 0.100023857E-37
  58. 3020 DATA -0.859876000E+02, 0.452959954E-37
  59. 3030 DATA 0.452914160E-37, 0.453005753E-37
  60. 3040 DATA -0.750000000E+02, 0.267863696E-32
  61. 3050 DATA 0.267836411E-32, 0.267890984E-32
  62. 3060 DATA -0.444444000E+02, 0.498933114E-19
  63. 3070 DATA 0.498882722E-19, 0.498983510E-19
  64. 3080 DATA -0.234567000E+02, 0.649957001E-10
  65. 3090 DATA 0.649891508E-10, 0.650022501E-10
  66. 3100 DATA -0.777777000E+01, 0.418945382E-03
  67. 3110 DATA 0.418940692E-03, 0.418950072E-03
  68. 3120 DATA -0.222222000E+01, 0.108368264E+00
  69. 3130 DATA 0.108366680E+00, 0.108369848E+00
  70. 3140 DATA -0.100000000E+01, 0.367879441E+00
  71. 3150 DATA 0.367875262E+00, 0.367883620E+00
  72. 3160 DATA -0.999999000E+00, 0.367879809E+00
  73. 3170 DATA 0.367878941E+00, 0.367880677E+00
  74. 3180 DATA -0.456789000E+00, 0.633313955E+00
  75. 3190 DATA 0.633312821E+00, 0.633315089E+00
  76. 3200 DATA -0.987654000E-01, 0.905955220E+00
  77. 3210 DATA 0.905954629E+00, 0.905955811E+00
  78. 3220 DATA -0.987654000E-02, 0.990172073E+00
  79. 3230 DATA 0.990171562E+00, 0.990172583E+00
  80. 3240 DATA -0.987654000E-03, 0.999012834E+00
  81. 3250 DATA 0.999012332E+00, 0.999013335E+00
  82. 3260 DATA -0.987654000E-04, 0.999901239E+00
  83. 3270 DATA 0.999900739E+00, 0.999901740E+00
  84. 3280 DATA -0.987654000E-05, 0.999990124E+00
  85. 3290 DATA 0.999989623E+00, 0.999990624E+00
  86. 3300 DATA -0.987654000E-06, 0.999999012E+00
  87. 3310 DATA 0.999998512E+00, 0.999999513E+00
  88. 3320 DATA -0.987654000E-07, 0.999999901E+00
  89. 3330 DATA 0.999999401E+00, 1.000000402E+00
  90. 3340 DATA -0.987654000E-08, 0.999999990E+00
  91. 3350 DATA 0.999999490E+00, 1.000000491E+00
  92. 3360 DATA -0.987654000E-09, 0.999999999E+00
  93. 3370 DATA 0.999999499E+00, 1.000000500E+00
  94. 3380 DATA -0.987654000E-14, 1.000000000E+00
  95. 3390 DATA 0.999999499E+00, 1.000000500E+00
  96. 3400 DATA -0.987654000E-19, 1.000000000E+00
  97. 3410 DATA 0.999999499E+00, 1.000000500E+00
  98. 3420 DATA -0.987654000E-29, 1.000000000E+00
  99. 3430 DATA 0.999999499E+00, 1.000000500E+00
  100. 3442 DATA -0.987654000E-37, 1.000000000E+00
  101. 3444 DATA 0.999999499E+00, 1.000000500E+00
  102. 3445 DATA 0,1,1,1
  103. 3446 DATA 0.987654000E-37, 0.100000000E+01
  104. 3448 DATA .0999995000E+01, 0.100000500E+01
  105. 3449 DATA 0.987654000E-29, 0.100000000E+01
  106. 3450 DATA .0999995000E+01, 0.100000500E+01
  107. 3460 DATA 0.987654000E-19, 0.100000000E+01
  108. 3470 DATA .0999995000E+01, 0.100000500E+01
  109. 3480 DATA 0.987654000E-14, 0.100000000E+01
  110. 3490 DATA .0999995000E+01, 0.100000501E+01
  111. 3500 DATA 0.987654000E-09, 0.100000000E+01
  112. 3510 DATA .0999995000E+01, 0.100000501E+01
  113. 3520 DATA 0.987654000E-08, 0.100000001E+01
  114. 3530 DATA .0999995009E+01, 0.100000501E+01
  115. 3540 DATA 0.987654000E-07, 0.100000010E+01
  116. 3550 DATA .0999995098E+01, 0.100000510E+01
  117. 3560 DATA 0.987654000E-06, 0.100000099E+01
  118. 3570 DATA .0999995987E+01, 0.100000599E+01
  119. 3580 DATA 0.987654000E-05, 0.100000988E+01
  120. 3590 DATA 0.100000487E+01, 0.100001488E+01
  121. 3600 DATA 0.987654000E-04, 0.100009877E+01
  122. 3610 DATA 0.100009377E+01, 0.100010378E+01
  123. 3620 DATA 0.987654000E-03, 0.100098814E+01
  124. 3630 DATA 0.100098314E+01, 0.100099315E+01
  125. 3640 DATA 0.987654000E-02, 0.100992547E+01
  126. 3650 DATA 0.100992046E+01, 0.100993049E+01
  127. 3660 DATA 0.987654000E-01, 0.110380732E+01
  128. 3670 DATA 0.110380220E+01, 0.110381243E+01
  129. 3680 DATA 0.456789000E+00, 0.157899568E+01
  130. 3690 DATA 0.157898910E+01, 0.157900227E+01
  131. 3700 DATA 0.999999000E+00, 0.271827911E+01
  132. 3710 DATA 0.271827139E+01, 0.271828683E+01
  133. 3720 DATA 0.100000000E+01, 0.271828183E+01
  134. 3730 DATA 0.271824964E+01, 0.271831402E+01
  135. 3740 DATA 0.222222000E+01, 0.922779385E+01
  136. 3750 DATA 0.922769656E+01, 0.922789113E+01
  137. 3760 DATA 0.777777000E+01, 0.238694599E+04
  138. 3770 DATA 0.238691712E+04, 0.238697487E+04
  139. 3780 DATA 0.234567000E+02, 0.153856332E+11
  140. 3790 DATA 0.153840446E+11, 0.153872219E+11
  141. 3800 DATA 0.444444000E+02, 0.200427667E+20
  142. 3810 DATA 0.200407125E+20, 0.200448211E+20
  143. 3820 DATA 0.750000000E+02, 0.373324200E+33
  144. 3830 DATA 0.373286369E+33, 0.373362034E+33
  145. 3840 DATA 0.859876000E+02, 0.220770068E+38
  146. 3850 DATA 0.220747492E+38, 0.220792647E+38
  147. 3860 DATA 0.874981000E+02, 0.999866475E+38
  148. 3870 DATA 0.999765993E+38, 0.999966967E+38
  149. 9000 DATA 999,0,0,0
  150. 9400 END