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.
 
 
 
 
 
 

209 lines
8.2 KiB

  1. 10 PRINT "PROGRAM FILE 127: ACCURACY OF SIN FUNCTION."
  2. 20 PRINT " ANSI STANDARD 7.6, 8.4"
  3. 30 PRINT
  4. 40 PRINT "SECTION 127.1: ACCURACY OF SIN FUNCTION."
  5. 50 PRINT
  6. 60 PRINT "THIS PROGRAM TESTS VALUES RETURNED BY INVOCATIONS OF THE"
  7. 70 PRINT "SIN 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=SIN(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 127"
  56. 3000 DATA -0.987654000E+05,-0.101562695E-01
  57. 3010 DATA -0.109934299E+00, 0.897227872E-01
  58. 3020 DATA -0.987644000E+05, 0.835940129E+00
  59. 3030 DATA 0.776972770E+00, 0.886555051E+00
  60. 3040 DATA -0.942682000E+05,-0.999999999E+00
  61. 3050 DATA -1.000000000E+00,-0.994999665E+00
  62. 3060 DATA -0.942792000E+04, 0.446577015E-03
  63. 3070 DATA -0.955328265E-02, 0.104464371E-01
  64. 3080 DATA -0.942592000E+04,-0.909483178E+00
  65. 3090 DATA -0.913595542E+00,-0.905279866E+00
  66. 3100 DATA -0.942949000E+04, 0.999999939E+00
  67. 3110 DATA 0.999945941E+00, 1.000000000E+00
  68. 3120 DATA -0.986460000E+03, 0.932271951E-04
  69. 3130 DATA -0.906773181E-03, 0.109323198E-02
  70. 3140 DATA -0.999000000E+03, 0.264607527E-01
  71. 3150 DATA 0.254610398E-01, 0.274604392E-01
  72. 3160 DATA -0.994314000E+03,-0.999999997E+00
  73. 3170 DATA -1.000000000E+00,-0.999998922E+00
  74. 3180 DATA -0.879646000E+02,-0.569948578E-05
  75. 3190 DATA -0.105699986E-03, 0.943005641E-04
  76. 3200 DATA -0.990000000E+02, 0.999206834E+00
  77. 3210 DATA 0.999202347E+00, 0.999211312E+00
  78. 3220 DATA -0.895354000E+02,-1.000000000E+00
  79. 3230 DATA -1.000000000E+00,-0.999999494E+00
  80. 3240 DATA -0.500000000E+02, 0.262374854E+00
  81. 3250 DATA 0.262277855E+00, 0.262471849E+00
  82. 3260 DATA -0.200000000E+02,-0.912945251E+00
  83. 3270 DATA -0.912986555E+00,-0.912903937E+00
  84. 3280 DATA -0.590000000E+01, 0.373876665E+00
  85. 3290 DATA 0.373866890E+00, 0.373886440E+00
  86. 3300 DATA -0.471239000E+01, 1.000000000E+00
  87. 3310 DATA 0.999999499E+00, 1.000000000E+00
  88. 3320 DATA -0.314159000E+01,-0.265358979E-05
  89. 3330 DATA -0.126536398E-04, 0.734641421E-05
  90. 3340 DATA -0.230000000E+01,-0.745705212E+00
  91. 3350 DATA -0.745712375E+00,-0.745698049E+00
  92. 3360 DATA -0.157080000E+01,-1.000000000E+00
  93. 3370 DATA -1.000000000E+00,-0.999999499E+00
  94. 3380 DATA -0.120000000E+01,-0.932039086E+00
  95. 3390 DATA -0.932043210E+00,-0.932034962E+00
  96. 3400 DATA -0.100000000E+01,-0.841470985E+00
  97. 3410 DATA -0.841476888E+00,-0.841465081E+00
  98. 3420 DATA -0.987654000E+00,-0.834736453E+00
  99. 3430 DATA -0.834737504E+00,-0.834735402E+00
  100. 3440 DATA -0.765432000E+00,-0.692848571E+00
  101. 3450 DATA -0.692849793E+00,-0.692847350E+00
  102. 3460 DATA -0.987654000E-01,-0.986049087E-01
  103. 3470 DATA -0.986050583E-01,-0.986047592E-01
  104. 3480 DATA -0.765432000E-01,-0.764684792E-01
  105. 3490 DATA -0.764686290E-01,-0.764683295E-01
  106. 3500 DATA -0.975319000E-02,-0.975303537E-02
  107. 3510 DATA -0.975305038E-02,-0.975302037E-02
  108. 3520 DATA -0.345678000E-02,-0.345677312E-02
  109. 3530 DATA -0.345678812E-02,-0.345675811E-02
  110. 3540 DATA -0.100001000E-02,-0.100000983E-02
  111. 3550 DATA -0.100002484E-02,-0.999999333E-03
  112. 3560 DATA -0.100000000E-02,-0.999999833E-03
  113. 3570 DATA -0.100001484E-02,-0.999989333E-03
  114. 3580 DATA -0.999999000E-03,-0.999998833E-03
  115. 3590 DATA -1.000000334E-03,-0.999997333E-03
  116. 3600 DATA -0.987654000E-04,-0.987653998E-04
  117. 3610 DATA -0.987655499E-04,-0.987652498E-04
  118. 3620 DATA -0.917359000E-05,-0.917359000E-05
  119. 3630 DATA -0.917360500E-05,-0.917357499E-05
  120. 3640 DATA -0.900000000E-06,-0.900000000E-06
  121. 3650 DATA -0.900001500E-06,-0.899998499E-06
  122. 3660 DATA -0.900000000E-09,-0.900000000E-09
  123. 3670 DATA -0.900001500E-09,-0.899998500E-09
  124. 3680 DATA -0.900000000E-19,-0.900000000E-19
  125. 3690 DATA -0.900001500E-19,-0.899998500E-19
  126. 3700 DATA -0.900000000E-29,-0.900000000E-29
  127. 3710 DATA -0.900001500E-29,-0.899998500E-29
  128. 3720 DATA -0.900000000E-37,-0.900000000E-37
  129. 3730 DATA -0.900001500E-37,-0.899998500E-37
  130. 3740 DATA 0,0,0,0
  131. 3760 DATA 0.200000000E-37, 0.200000000E-37
  132. 3770 DATA 0.199998500E-37, 0.200001500E-37
  133. 3780 DATA 0.900000000E-29, 0.900000000E-29
  134. 3790 DATA 0.899998500E-29, 0.900001500E-29
  135. 3800 DATA 0.900000000E-19, 0.900000000E-19
  136. 3810 DATA 0.899998500E-19, 0.900001500E-19
  137. 3820 DATA 0.900000000E-09, 0.900000000E-09
  138. 3830 DATA 0.899998500E-09, 0.900001500E-09
  139. 3840 DATA 0.900000000E-06, 0.900000000E-06
  140. 3850 DATA 0.899998499E-06, 0.900001500E-06
  141. 3860 DATA 0.917359000E-05, 0.917359000E-05
  142. 3870 DATA 0.917357499E-05, 0.917360500E-05
  143. 3880 DATA 0.987654000E-04, 0.987653998E-04
  144. 3890 DATA 0.987652498E-04, 0.987655499E-04
  145. 3900 DATA 0.999999000E-03, 0.999998833E-03
  146. 3910 DATA 0.999997333E-03, 1.000000334E-03
  147. 3920 DATA 0.100000000E-02, 0.999999833E-03
  148. 3930 DATA 0.999989333E-03, 0.100001484E-02
  149. 3940 DATA 0.100001000E-02, 0.100000983E-02
  150. 3950 DATA 0.999999333E-03, 0.100002484E-02
  151. 3960 DATA 0.345678000E-02, 0.345677312E-02
  152. 3970 DATA 0.345675811E-02, 0.345678812E-02
  153. 3980 DATA 0.975319000E-02, 0.975303537E-02
  154. 3990 DATA 0.975302037E-02, 0.975305038E-02
  155. 4000 DATA 0.765432000E-01, 0.764684792E-01
  156. 4010 DATA 0.764683295E-01, 0.764686290E-01
  157. 4020 DATA 0.987654000E-01, 0.986049087E-01
  158. 4030 DATA 0.986047592E-01, 0.986050583E-01
  159. 4040 DATA 0.765432000E+00, 0.692848571E+00
  160. 4050 DATA 0.692847350E+00, 0.692849793E+00
  161. 4060 DATA 0.987654000E+00, 0.834736453E+00
  162. 4070 DATA 0.834735402E+00, 0.834737504E+00
  163. 4080 DATA 0.100000000E+01, 0.841470985E+00
  164. 4090 DATA 0.841465081E+00, 08.41476888E+00
  165. 4100 DATA 0.120000000E+01, 0.932039086E+00
  166. 4110 DATA 0.932034962E+00, 0.932043210E+00
  167. 4120 DATA 0.157080000E+01, 1.000000000E+00
  168. 4130 DATA 0.999999499E+00, 1.000000000E+00
  169. 4140 DATA 0.230000000E+01, 0.745705212E+00
  170. 4150 DATA 0.745698049E+00, 0.745712375E+00
  171. 4160 DATA 0.314159000E+01, 0.265358979E-05
  172. 4170 DATA -0.734651521E-05, 0.126536398E-04
  173. 4180 DATA 0.390000000E+01,-0.687766159E+00
  174. 4190 DATA -0.687773919E+00,-0.687758399E+00
  175. 4200 DATA 0.471239000E+01,-1.000000000E+00
  176. 4210 DATA -1.000000000E+00,-0.999999499E+00
  177. 4220 DATA 0.590000000E+01,-0.373876665E+00
  178. 4230 DATA -0.373886440E+00,-0.373866890E+00
  179. 4240 DATA 0.200000000E+02, 0.912945251E+00
  180. 4250 DATA 0.912903937E+00, 0.912986555E+00
  181. 4260 DATA 0.500000000E+02,-0.262374854E+00
  182. 4270 DATA -0.262471849E+00,-0.262277855E+00
  183. 4280 DATA 0.895354000E+02, 1.000000000E+00
  184. 4290 DATA 0.999999494E+00, 1.000000000E+00
  185. 4300 DATA 0.990000000E+02,-0.999206834E+00
  186. 4310 DATA -0.999211312E+00,-0.999202347E+00
  187. 4320 DATA 0.879646000E+02, 0.569948578E-05
  188. 4330 DATA -0.943005641E-04, 0.105699986E-03
  189. 4360 DATA 0.994314000E+03, 0.999999997E+00
  190. 4370 DATA 0.999998922E+00, 1.000000000E+00
  191. 4380 DATA 0.999100000E+03, 0.734699011E-01
  192. 4390 DATA 0.724725170E-01, 0.744672117E-01
  193. 4400 DATA 0.986460000E+03,-0.932271951E-04
  194. 4410 DATA -0.109323198E-02, 0.906773181E-03
  195. 4420 DATA 0.942949000E+04,-0.999999939E+00
  196. 4430 DATA -1.000000000E+00,-0.999945941E+00
  197. 4440 DATA 0.942592000E+04, 0.909483178E+00
  198. 4450 DATA 0.905279866E+00, 0.913595542E+00
  199. 4460 DATA 0.942792000E+04,-0.446577015E-03
  200. 4470 DATA -0.104464371E-01, 0.955328265E-02
  201. 4480 DATA 0.942682000E+05, 0.999999999E+00
  202. 4490 DATA 0.994999665E+00, 1.000000000E+00
  203. 4500 DATA 0.987644000E+05,-0.835940129E+00
  204. 4510 DATA -0.886555051E+00,-0.776972770E+00
  205. 4520 DATA 0.987654000E+05, 0.101562695E-01
  206. 4530 DATA -0.897227872E-01, 0.109934299E+00
  207. 9000 DATA 999,0,0,0
  208. 9400 END