home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / forth / compiler / fpc / help / sfloat.hlp < prev    next >
Text File  |  1988-11-02  |  4KB  |  66 lines

  1.                     SFLOAT -- Software Floating Point Package
  2.  
  3.                             By Robert L. Smith
  4.  
  5.  
  6.         This is a software floating point package for use with the F-PC Forth
  7. system.  It follows most of the recommendations of the FVG (Forth Vendors
  8. Group) Standard Floating-Point Extension.  It is my intention that the
  9. functions be as accurate as is reasonable, consistent with speed as the
  10. secondary goal.  The basic four functions plus square root should be precise to
  11. one half a bit in the least significant bit of the representation.  It is my
  12. intention that the higher functions have intrinsic errors no larger than one
  13. bit in the least significant place.  The representation uses a 16 bit word for
  14. the sign and biased exponent of the floating point number, and 32 bits for the
  15. significand (sometimes called the "mantissa").  That means that the intrinsic
  16. accuracy is approximately 9 and a half decimal digits.  The largest and
  17. smallest representable numbers cover roughly the range from 10 to the plus and
  18. minus 4000 power, which is far greater than almost anyone would ever need.
  19. The representation does NOT include special cases for infinity, unnormalized
  20. numbers, and Not-A-Number.  The format is definitely NOT the IEEE Floating
  21. Point Standard format.  The reason is basically one of speed.  The functions
  22. in this package are approximately 5 (FIVE) times faster than software
  23. implementations using the IEEE standard.  In spite of that, I do attempt to
  24. meet the basic requirement of having the basic four functions be accurate to
  25. within one-half a bit.  The precision is somewhat greater than one would
  26. obtain from the 32-bit IEEE format.
  27.  
  28.         To load the package from F-PC, type  FLOAD SFLOAT  followed by a
  29. carriage return.
  30.  
  31.         After SFLOAT has been loaded, you may enter floating point numbers
  32. in exponential format.  The following is a list of possible entries:
  33.  
  34.                 -1.2345E4
  35.                 .9876E-3
  36.                 123.456(10)
  37.                 12.345X-5
  38.  
  39. The rules are: If the number is negative, it must be preceeded with a
  40. minus sign.  Do not use "+" with positive numbers.  The separator between
  41. the mantissa and exponent may be almost any character other than a digit,
  42. "+" sign, "-" sign, or comma.  In the examples above, the "E" is used for
  43. compliance with FVG, but the left parenthesis or "X" may be used, especially
  44. if you desire to enter your numbers in another base.  The terminating symbol
  45. may be omitted, but you may wish to use a right parenthesis, as in the third
  46. example above.
  47.  
  48.         If you wish to enter floating point numbers without having to specify
  49. the exponential part, type the word  FLOATS .  That will allow numbers with
  50. imbedded decimal points (or commas) to be interpretted as floating point
  51. numbers.  A trailing decimal point will still cause the number to be treated
  52. as a double precision number.  To turn off that feature, invoke the word
  53. DOUBLES .
  54.  
  55.         The simplest numeric output is  E. .  Other possible functions are:
  56. E.R , F. , and F.R .  There is also a floating point stack printout word, .FS .
  57. If you wish to turn off the Floating Point interpreter, enter  NOFLOATING .
  58. To re-enter the floating point interpreter, enter  FLOATING .  If you wish
  59. to FORGET all or part of the floating point package, it is important to
  60. invoke  NOFLOATING  prior to using FORGET .
  61.  
  62.         The FVG Standard Floating-Point Extension has been published in Dr.
  63. Dobb's Journal, Sept., 1984.  The authors are Ray Duncan and Martin Tracy.
  64.  
  65.  
  66.