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.
 
 
 
 
 
 

204 lines
7.7 KiB

  1. 10 PRINT "PROGRAM FILE 128: ACCURACY OF TAN FUNCTION."
  2. 20 PRINT " ANSI STANDARD 7.6, 8.4"
  3. 30 PRINT
  4. 40 PRINT "SECTION 128.1: ACCURACY OF TAN FUNCTION."
  5. 50 PRINT
  6. 60 PRINT "THIS PROGRAM TESTS VALUES RETURNED BY INVOCATIONS OF THE"
  7. 70 PRINT "TAN 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=TAN(A)
  29. 285 IF L>H THEN 1000
  30. 290 IF C=T THEN 333
  31. 300 IF C<L THEN 444
  32. 310 IF C>H THEN 444
  33. 320 LET O$=" OK "
  34. 330 GOTO 500
  35. 333 LET O$=" OK - EXACT"
  36. 340 GOTO 500
  37. 444 LET O$="FAIL"
  38. 445 LET F=F+1
  39. 450 GOTO 500
  40. 500 LET R=H-L
  41. 510 IF R=0 THEN 700
  42. 520 LET E=ABS((C-T)/R)
  43. 525 LET E=E+E
  44. 530 PRINT A,T,C,E,O$
  45. 540 GOTO 260
  46. 700 PRINT A,T,C,"RANGE ZERO",O$
  47. 710 GOTO 260
  48. 1000 IF C=T THEN 1333
  49. 1010 IF C>L THEN 1444
  50. 1020 IF C<H THEN 1444
  51. 1030 LET O$="FAIL"
  52. 1040 LET F=F+1
  53. 1050 GOTO 1500
  54. 1333 LET O$=" OK - EXACT"
  55. 1344 GOTO 1500
  56. 1444 LET O$=" OK "
  57. 1445 GOTO 1500
  58. 1500 PRINT A,T,C,"RANGE SPLIT",O$
  59. 1510 GOTO 260
  60. 2000 PRINT
  61. 2010 IF F=0 THEN 2100
  62. 2020 PRINT "*** INFORMATIVE TEST FAILED IN ";F;" CASE(S) ***"
  63. 2030 GOTO 2110
  64. 2100 PRINT "*** INFORMATIVE TEST PASSED ***"
  65. 2110 PRINT
  66. 2120 PRINT " END TEST"
  67. 2130 PRINT
  68. 2140 PRINT "END PROGRAM 128"
  69. 3000 DATA -0.987789000E+05,-0.138017476E+01
  70. 3010 DATA -0.171848904E+01,-0.112416124E+01
  71. 3020 DATA -0.987654000E+04, 0.724991905E+00
  72. 3030 DATA 0.709844580E+00, 0.740360468E+00
  73. 3040 DATA -0.987654000E+03,-0.252646135E+01
  74. 3050 DATA -0.253386806E+01,-0.251909194E+01
  75. 3060 DATA -0.987654000E+02,-0.506921050E+01
  76. 3070 DATA -0.507188654E+01,-0.506653715E+01
  77. 3080 DATA -0.987654000E+01,-0.485230117E+00
  78. 3090 DATA -0.485242972E+00,-0.485217262E+00
  79. 3100 DATA -0.555555000E+01, 0.890667992E+00
  80. 3110 DATA 0.890649559E+00, 0.890686424E+00
  81. 3120 DATA -0.471239000E+01, 0.980762048E+06
  82. 3130 DATA 0.907472194E+05,-0.111353304E+06
  83. 3140 DATA -0.456789000E+01,-0.687223055E+01
  84. 3150 DATA -0.687271786E+01,-0.687174330E+01
  85. 3160 DATA -0.400000000E+01,-0.115782128E+01
  86. 3170 DATA -0.115784969E+01,-0.115779287E+01
  87. 3180 DATA -0.314159000E+01, 0.265358979E-05
  88. 3190 DATA -0.734641521E-05, 0.126536398E-04
  89. 3200 DATA -0.287654000E+01, 0.271439087E+00
  90. 3210 DATA 0.271427849E+00, 0.271450324E+00
  91. 3220 DATA -0.200000000E+01, 0.218503986E+01
  92. 3230 DATA 0.218497712E+01, 0.218510261E+01
  93. 3240 DATA -0.161616000E+01, 0.220289470E+02
  94. 3250 DATA 0.220240353E+02, 0.220338608E+02
  95. 3280 DATA -0.157081000E+01, 0.731357419E+05
  96. 3290 DATA 0.422418008E+05, 0.272242309E+06
  97. 3300 DATA -0.157080000E+01, 0.272241808E+06
  98. 3310 DATA 0.731356919E+05,-0.158057413E+06
  99. 3320 DATA -0.157078000E+01,-0.612490085E+05
  100. 3330 DATA -0.158058414E+06,-0.379840648E+05
  101. 3340 DATA -0.123456000E+01,-0.286116592E+01
  102. 3350 DATA -0.286126279E+01,-0.286106906E+01
  103. 3360 DATA -0.100000000E+01,-0.155740772E+01
  104. 3370 DATA -0.155744699E+01,-0.155736847E+01
  105. 3380 DATA -0.876540000E+00,-0.120117664E+01
  106. 3390 DATA -0.120118408E+01,-0.120116919E+01
  107. 3400 DATA -0.232323000E+00,-0.236595054E+00
  108. 3410 DATA -0.236596611E+00,-0.236593498E+00
  109. 3420 DATA -0.767676000E-01,-0.769187603E-01
  110. 3430 DATA -0.769189109E-01,-0.769186096E-01
  111. 3460 DATA -0.234567000E-01,-0.234610030E-01
  112. 3470 DATA -0.234511531E-01,-0.234608529E-01
  113. 3480 DATA -0.123456000E-01,-0.123462273E-01
  114. 3490 DATA -0.123463773E-01,-0.123460772E-01
  115. 3520 DATA -0.987654000E-02,-0.987686115E-02
  116. 3530 DATA -0.987687616E-02,-0.987684615E-02
  117. 3540 DATA -0.345678000E-02,-0.345679377E-02
  118. 3550 DATA -0.345680877E-02,-0.345677876E-02
  119. 3560 DATA -0.987654000E-03,-0.987654321E-03
  120. 3570 DATA -0.987655822E-03,-0.987652821E-03
  121. 3580 DATA -0.345678000E-03,-0.345678014E-03
  122. 3590 DATA -0.345679514E-03,-0.345676513E-03
  123. 3720 DATA -0.900000000E-04,-0.900000002E-04
  124. 3730 DATA -0.900001503E-04,-0.899998502E-04
  125. 3740 DATA -0.900000000E-06,-0.900000000E-06
  126. 3750 DATA -0.900001501E-06,-0.899998500E-06
  127. 3760 DATA -0.900000000E-09,-0.900000000E-09
  128. 3770 DATA -0.900001500E-09,-0.899998500E-09
  129. 3780 DATA -0.900000000E-19,-0.900000000E-19
  130. 3790 DATA -0.900001500E-19,-0.899998500E-19
  131. 3800 DATA -0.900000000E-29,-0.900000000E-29
  132. 3810 DATA -0.900001500E-29,-0.899998500E-29
  133. 3812 DATA -0.900000000E-37,-0.900000000E-37
  134. 3814 DATA -0.900001500E-37,-0.899998500E-37
  135. 3815 DATA 0,0,0,0
  136. 3816 DATA 0.900000000E-37, 0.900000000E-37
  137. 3818 DATA 0.899998500E-37, 0.900001500E-37
  138. 3820 DATA 0.900000000E-29, 0.900000000E-29
  139. 3830 DATA 0.899998500E-29, 0.900001500E-29
  140. 3840 DATA 0.900000000E-19, 0.900000000E-19
  141. 3850 DATA 0.899998500E-19, 0.900001500E-19
  142. 3860 DATA 0.900000000E-09, 0.900000000E-09
  143. 3870 DATA 0.899998500E-09, 0.900001500E-09
  144. 3880 DATA 0.900000000E-06, 0.900000000E-06
  145. 3890 DATA 0.899998500E-06, 0.900001501E-06
  146. 3900 DATA 0.900000000E-04, 0.900000002E-04
  147. 3910 DATA 0.899998502E-04, 0.900001503E-04
  148. 3920 DATA 0.345678000E-03, 0.345678014E-03
  149. 3930 DATA 0.345676513E-03, 0.345679514E-03
  150. 3940 DATA 0.987654000E-03, 0.987654321E-03
  151. 3950 DATA 0.987652821E-03, 0.987655822E-03
  152. 3960 DATA 0.345678000E-02, 0.345679377E-02
  153. 3970 DATA 0.345677876E-02, 0.345680877E-02
  154. 3980 DATA 0.987654000E-02, 0.987686115E-02
  155. 3990 DATA 0.987684615E-02, 0.987687616E-02
  156. 4000 DATA 0.123456000E-01, 0.123462273E-01
  157. 4010 DATA 0.123460772E-01, 0.123463773E-01
  158. 4020 DATA 0.234567000E-01, 0.234560030E-01
  159. 4030 DATA 0.234608529E-01, 0.234611531E-01
  160. 4040 DATA 0.767676000E-01, 0.769187603E-01
  161. 4050 DATA 0.769186096E-01, 0.769189109E-01
  162. 4060 DATA 0.232323000E+00, 0.236595054E+00
  163. 4070 DATA 0.236593498E+00, 0.236596611E+00
  164. 4080 DATA 0.876543000E+00, 0.120118397E+01
  165. 4090 DATA 0.120117652E+01, 0.120119141E+01
  166. 4100 DATA 0.100000000E+01, 0.155740772E+01
  167. 4110 DATA 0.155736847E+01, 0.155744699E+01
  168. 4120 DATA 0.123456000E+01, 0.286116592E+01
  169. 4130 DATA 0.286106906E+01, 0.286126279E+01
  170. 4140 DATA 0.157078000E+01, 0.612490085E+05
  171. 4150 DATA 0.379840648E+05, 0.158058414E+06
  172. 4160 DATA 0.157080000E+01,-0.272241808E+06
  173. 4170 DATA 0.158057413E+06,-0.731356919E+05
  174. 4180 DATA 0.157081000E+01,-0.731357419E+05
  175. 4190 DATA -0.272242309E+06,-0.422418008E+05
  176. 4200 DATA 0.161616000E+01,-0.422418008E+05
  177. 4210 DATA -0.220338608E+02,-0.220240353E+02
  178. 4220 DATA 0.200000000E+01,-0.218503986E+01
  179. 4230 DATA -0.218510261E+01,-0.218497712E+01
  180. 4240 DATA 0.287654000E+01,-0.271439087E+00
  181. 4250 DATA -0.271450324E+00,-0.271427849E+00
  182. 4260 DATA 0.314159000E+01,-0.265358979E-05
  183. 4270 DATA -0.126536398E-04, 0.734641521E-05
  184. 4280 DATA 0.400000000E+01, 0.115782128E+01
  185. 4290 DATA 0.115779287E+01, 0.115784969E+01
  186. 4300 DATA 0.456789000E+01, 0.687223055E+01
  187. 4310 DATA 0.687174330E+01, 0.687271786E+01
  188. 4320 DATA 0.471239000E+01,-0.980762049E+06
  189. 4330 DATA 0.111353304E+06,-0.907472194E+05
  190. 4340 DATA 0.555555000E+01,-0.890667992E+00
  191. 4350 DATA -0.890686426E+00,-0.890649559E+00
  192. 4360 DATA 0.987654000E+01, 0.485230117E+00
  193. 4370 DATA 0.485217262E+00, 0.485242972E+00
  194. 4380 DATA 0.987654000E+02, 0.506921050E+01
  195. 4390 DATA 0.506653715E+01, 0.507188654E+01
  196. 4400 DATA 0.987654000E+03, 0.253386806E+01
  197. 4410 DATA 0.251909194E+01, 0.253386806E+01
  198. 4420 DATA 0.987654000E+04,-0.724991905E+00
  199. 4430 DATA -0.740360468E+00,-0.709844580E+00
  200. 4440 DATA 0.987789000E+05, 0.138017476E+01
  201. 4450 DATA 0.112416124E+01, 0.171848904E+01
  202. 9000 DATA 999,0,0,0
  203. 9400 END