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.
 
 
 
 
 
 

75 lines
2.9 KiB

  1. 10 PRINT "PROGRAM FILE 42: ACCURACY OF DIVISION"
  2. 20 PRINT " ANSI STANDARD 7.2, 7.4, 7.6"
  3. 30 PRINT
  4. 40 PRINT "*** NOTE: THIS PROGRAM MAKES USE OF 'READ' AND 'DATA'"
  5. 50 PRINT " WHICH HAVE NOT YET BEEN TESTED. IF SUBSEQUENT TESTS SHOW"
  6. 60 PRINT " THESE FEATURES TO BE INCORRECTLY IMPLEMENTED, THEN THE"
  7. 70 PRINT " VALIDITY OF THE RESULTS OF THIS TEST ROUTINE IS DOUBTFUL."
  8. 80 PRINT
  9. 100 PRINT "SECTION 42.1 ACCURACY OF DIVISION."
  10. 110 PRINT
  11. 120 PRINT "THIS SECTION TESTS THE ACCURACY OF DIVISION. THE "
  12. 130 PRINT "COMPUTED RESULT IS COMPARED WITH A RANGE ESTABLISHED BY"
  13. 140 PRINT "PERTURBING EACH OPERAND BY 1 IN ITS 6TH DIGIT. THE RESULT"
  14. 150 PRINT "PASSES IF IT FALLS WITHIN THE EXTREME VALUES GENERATED BY"
  15. 160 PRINT "THIS PERTURBATION (ACCURATE TO SIX DIGITS)."
  16. 220 PRINT
  17. 230 PRINT "THIS TEST IS INFORMATIVE ONLY, SINCE THE ANSI STANDARD"
  18. 240 PRINT "DOES NOT MANDATE ANY ACCURACY FOR NUMERIC EXPRESSIONS."
  19. 250 PRINT
  20. 260 PRINT " BEGIN TEST"
  21. 270 PRINT
  22. 280 PRINT "FIRST","SECOND","TRUE","COMPUTED","TEST"
  23. 290 PRINT "OPERAND","OPERAND","VALUE","VALUE","RESULT"
  24. 300 PRINT
  25. 310 LET F=0
  26. 320 READ A1,A2,T,L,H
  27. 330 IF A1=999 THEN 480
  28. 335 LET M$="PASS"
  29. 340 LET C=A1/A2
  30. 350 IF C<L THEN 380
  31. 360 IF C>H THEN 380
  32. 370 GOTO 400
  33. 380 LET M$="FAIL"
  34. 390 LET F=F+1
  35. 400 PRINT A1,A2,T,C,M$
  36. 410 GOTO 320
  37. 480 PRINT
  38. 490 IF F=0 THEN 520
  39. 500 PRINT "*** INFORMATIVE TEST FAILED IN ";F;" CASE(S) ***"
  40. 510 GOTO 530
  41. 520 PRINT "*** INFORMATIVE TEST PASSED ***"
  42. 530 PRINT
  43. 540 PRINT " END TEST"
  44. 550 PRINT
  45. 560 PRINT "END PROGRAM 42"
  46. 2000 DATA 0,-74.7589,0,0,0
  47. 3000 DATA 0.972125000E+13, 0.248864000E-02, 0.390625000E+16
  48. 3010 DATA 0.390622528E+16, 0.390627472E+16
  49. 3020 DATA -0.972125000E-04,-0.248864000E+14, 0.390625000E-17
  50. 3030 DATA 0.390622528E-17, 0.390627472E-17
  51. 3040 DATA 0.936467000E-01, 0.954647000E-01, 0.980956312E+00
  52. 3050 DATA 0.980953736E+00, 0.980958887E+00
  53. 3060 DATA 0.376465000E+38, 0.895857000E+38, 0.420228898E+00
  54. 3070 DATA 0.420226812E+00, 0.420230984E+00
  55. 3080 DATA 0.958764000E+18, 0.558589000E+16, 0.171640329E+03
  56. 3090 DATA 0.171639343E+03, 0.171641316E+03
  57. 3100 DATA -0.457858000E-16,-0.879796000E-13, 0.520413823E-03
  58. 3110 DATA 0.520411595E-03, 0.520416052E-03
  59. 3120 DATA 0.237847000E-37, 0.117265000E-37, 0.202828636E+01
  60. 3130 DATA 0.202825553E+01, 0.202831619E+01
  61. 3140 DATA 0.684776000E+38,-0.697536000E+00,-0.981707037E+38
  62. 3150 DATA -0.981710379E+38,-0.981703696E+38
  63. 3160 DATA -0.346756000E+21, 0.222736000E-16,-0.155680267E+38
  64. 3170 DATA -0.155681916E+38,-0.155678619E+38
  65. 3200 DATA 0.987645000E+00, 0.987897000E-37, 0.999744913E+37
  66. 3210 DATA 0.999742388E+37, 0.999747437E+37
  67. 3220 DATA -0.447563000E-36, 0.668575000E+01,-0.669428262E-37
  68. 3230 DATA -0.669431259E-37,-0.669425264E-37
  69. 3240 DATA 0.857653000E-19,-0.889763000E+18,-0.963911738E-37
  70. 3250 DATA -0.963914446E-37,-0.963909031E-37
  71. 3260 DATA -0.557645000E+01,-0.786453000E+38, 0.709063352E-37
  72. 3270 DATA 0.709060678E-37, 0.709066025E-37
  73. 5000 DATA 999,0,0,0,0
  74. 5010 END