home *** CD-ROM | disk | FTP | other *** search
/ Lion Share / lionsharecd.iso / dos_misc / qcalc113.zip / HISTORY.TXT < prev    next >
Text File  |  1991-10-30  |  9KB  |  185 lines

  1.          ┌────────────────────────────────────────────────────╖
  2.          ├────────────────────────────────────────────────────╢
  3.          │ History of revisions for QCALC -- Quick Calculator ║
  4.          ├────────────────────────────────────────────────────╢
  5.          ╘════════════════════════════════════════════════════╝
  6.  
  7.  
  8.  
  9. August 20, 1991 -- 1.00
  10. Completed the initial version of QCALC.
  11.  
  12. August 21, 1991 -- 1.01
  13. Hacked out a parenthesis bug and a misconception concerning operator
  14. precedence.  Added modulus and exponent [to the power] operators (%, ^).
  15. Added detection for division by zero.
  16.  
  17. August 22, 1991 -- 1.02
  18. Added floating point modulus.  Improved argument parsing scheme.
  19.  
  20. August 24, 1991 -- 1.03
  21. Corrected value reader to recognize + and - value modifiers (ie, +5 and
  22. -2). Added mathematical functions:  sin, cos, tan, asin, acos, atan,
  23. sqrt, and abs.
  24.  
  25. August 27, 1991 -- 1.04
  26. Revised the math function handler, and added the predefined constants pi
  27. and e.  (Variables be on their way ...)
  28.  
  29. August 28, 1991 -- 1.05
  30. Added command line variables.  <pant pant>  Added two parameter function
  31. parsing and the function hypot.  Still buggy.
  32.  
  33. August 29, 1991 -- 1.06
  34. Victory!  Cranked out all (haha sure) variable and multi-parameter
  35. function bugs.  Also fixed the limited sign modifying function to accept
  36. more than one modification.  (ie, -5 was legal, but --5 wasn't.  Now it
  37. is.)  Added integer random function, but it stinks a bit.
  38.  
  39. September 6, 1991 -- 1.07
  40. Added better variable parsing.  Variables can now be defined to full
  41. expressions, including references to variables previously defined on the
  42. command line.  ie, /valice=100 /vbob=alice*(PI+2)
  43.  
  44. September 7, 1991 -- 1.08
  45. Improved the appearance of printed variables, and placed the reworked
  46. variable handler in it's own file.  Separated text descriptions to a
  47. header file.  Essentially, I just trimmed down the main file to a more
  48. manageable size again.  Began working on my own number printing
  49. algorithm.  Added log, logt, cosh, tanh, sinh.  Passed the 1000 line
  50. source code mark.
  51.  
  52. September 8, 1991 -- 1.09
  53. Once again altered variables.  Now, the /V switch is obsolete.  To store
  54. an expression result in a variable, just prepend "var=" to it.  ie:
  55. bob=100*5 will store 500 in bob.  ... AH!  Late at night, worked on many
  56. print options!  (13 options switches in all now.) **MANY** errors, this
  57. is the buggiest revision.  Ick.  I'll wade through it tomorrow.
  58.  
  59. September 9, 1991 -- 1.10
  60. Cranked out several bugs.  Added pretty help screens. (Awww...)
  61.  
  62. September 12, 1991 -- 1.11
  63. More bug cranking.  Comma and decimal points switches both now work
  64. properly.  Changed /F (list functions) to /L, and added /F (Financial
  65. representation -- turns on /$ /C /D2).  Added single argument/multi
  66. parameters:  /$CD2 is now a valid switch!  (The one exception is the
  67. /S switch -- another switch may never follow it due to the strange
  68. way DOS handles "quotes" as arguments.)
  69.  
  70. September 13, 1991 (friday) -- 1.12
  71. Hacked apart the main file again -- this sets the stage for adding
  72. environment variables and taking input from files.  Also, it cleared
  73. up some problems with multi-parameter single-arguments.  /fnordf turns
  74. off the header printer, AND turns on financial number printing.
  75. Documented the switches in QCALC.DOC.  Zzzz.  Added /DM to allow control
  76. over trailing zeroes and whole numbers.  Added "Switch error!" for bad
  77. switches when /EB is on.  Corrected /B? changes so that newlines are
  78. printed for clarity when switching from /BA to /BO or /BF.  Could be
  79. even clearer...
  80.  
  81. September 14, 1991 -- 1.13
  82. Worked further on documentation.  Added more functions for a total of 4
  83. constants, and 34 functions.  Most, however, are trigonometric.  Redid
  84. the help screens AGAIN.  Added error handlers (floating point exception
  85. division by zero, overflow, domain, and control-c)!  They SEEM to work,
  86. but only time will tell ...
  87.  
  88. September 15, 1991 -- 1.14
  89. Finished documenting 34 functions and most error conditions.  More help
  90. screens, testing.  Revised QCALC /? switches -- QCALC with no parameters
  91. simply says "type /? for switches", rather than giving the switch list.
  92. Rehacked multi-parameter passing, and added 11 financial functions: sln,
  93. syd, ddb, asln, asyd, addb, pmt, fv, fva, pv and pva.  Total of 45
  94. functions and 4 constants.  However, for some reason, I don't trust
  95. Howard's financial functions.  I may write my own.
  96.  
  97. September 16, 1991 -- 1.15
  98. Implemented the "Improper number of parameters" error.  Split the
  99. gargantuan QCALC.H file into manageable portions.  Implemented
  100. percentage printing (/%).  Documented the rest of the functions, and
  101. added a lot of the extra garbage one is expected to add to
  102. documentation.  I need some beta testers reaaaal soon.  Changed the
  103. financial switch so it now "toggles".  Changed the /FNORD switch so now
  104. it can be called anywhere from the command line.  (ie QCALC 10 /FNORD
  105. now turns off the header.)  Wrote several supplement files.
  106.  
  107. September 17, 1991 -- 1.16
  108. It never ends.  Tried to do it simply, but it just can't be done that
  109. way, so I overhauled the argument parser again, making a new function
  110. called "getnextarg" that seems to work pretty neat.  The difference is,
  111. this function first checks the environment variable "QCALC", parsing
  112. spaces into nulls, and returning them first.  The big problem here was
  113. another discovery about DOS;  The set command doesn't allow a = as part
  114. of the string!  So, I had to make a decision, and I decided using SET
  115. was more important than the equal sign, so now to assign variables, use
  116. a colon instead of an equal sign.  Added the underscore as a valid
  117. symbol character.
  118.  
  119. September 18, 1991 -- 1.17
  120. ARGH!!  Tried to implement @filename, where if its own argument, will
  121. tell QCALC to load the file, and evaluate the expressions in there
  122. before continuing.  Was hell.  I think I need to do some major hacking.
  123. <sigh>  Also redirected all error messages to stderr.
  124.  
  125. September 19, 1991 -- 1.18
  126. Fixed the @filename command -- sorta -- Extra blank lines or missing
  127. CR's seem to be an ever increasing problem.  I'll have to write a system
  128. for handling nulls.  (Problem is because of the /BA switch.)  Improved
  129. @file reader; now it recognizes a semicolon (;) as a comment, and a
  130. pound sign (#) as a string of text to print to the screen.  Added
  131. functions and, or, xor, neg, if, eq, gt, lt, goe, and loe.  (Logical and
  132. conditional functions.)  Added variables TRUE and FALSE.  Over 60
  133. functions and constants!
  134.  
  135. September 20, 1991 -- 1.19
  136. Added a bunch of internal functions, and reworked the /B and /V switches
  137. to just /O.  /O handles all output.  Many, many options.  Now nulls are
  138. not a problem, but my original problem about separator printing is back.
  139. I guess I'll have to calculate everything before I print it.  That will
  140. allow several improvements in the long run, but it'll be hell getting
  141. there.
  142.  
  143. September 21, 1991 -- 1.20
  144. Fixed some problems with the getnextarg() function.  Added strings to
  145. qcalc files.  Added the "pause" character (the tilde ~) to script files.
  146. Internal variables are now truly constants -- user definable variables
  147. can be redefined, but internals can't.  Symbol names can now include
  148. letters, numbers, and the underscore.
  149.  
  150. September 22, 1991 -- 1.21
  151. Script files can now be kept in the same directory as QCALC.EXE.  If
  152. QCALC can't find the file in the current directory, it will look in the
  153. directory where QCALC resides.  Added the !varname argument, which will
  154. prompt the user to input the variable named after the !.  Added exponent
  155. reading.  (10 can be expressed as 10, 1e1 or 1+e1.)  Gave the exponent
  156. operator (^) higher precedence.  Added operators & (and), $ and | (not),
  157. > and } (greater than), < and { (less than), >= and }= (greater than or
  158. equal to), <= and {= (less than or equal to).  Guess it's ready for
  159. beta-testing -- I wish I had a complete script language, but that's so
  160. advanced, if I started it now, I'll never release QCALC.
  161.  
  162. Septemeber 23 thru December 4, 1991 -- Bug fixin' time:  1.22
  163. Fixed the /FNORD switch so it isn't case sensitive.  Revised the input
  164. routine so it takes it's input directly from the keyboard, rather than
  165. STDIN, prints errors better, and handles backspacing.  Corrected some
  166. blaring <snort> errors in the documentation.  Added function POW
  167. (exponentation) like I was supposed to have had in there already.
  168. Changed function logt to log10 to reflect new ability of symbols having
  169. digits.  Corrected exponent (1e+1) problem.  Corrected inputing past the
  170. buffer bug.  No longer have to supply a QC extension on script files.
  171. Fixed inability for multiparameter functions to contain a non-
  172. parenthetical expression.  Corrected error with commas.  Corrected
  173. incorrect DOS errorlevel when inputing from a !var.  Released QCALC
  174. (hoorah!).
  175.  
  176. December 10, 1991 -- 1.23
  177. ARGH!  Discovered two major bugs.  The first one was a precedence
  178. error that unfortunately returns an incorrect answer in complex
  179. equations using operators with varying precedence.  The second was
  180. parenthesis defaulting to multiplication; when a variable followed
  181. a parenthesis such as "(5)a", it would report an error.  Corrected
  182. both errors.  Prayed that I've fixed all major errors.  Re-released
  183. QCALC
  184.  
  185.