home *** CD-ROM | disk | FTP | other *** search
- \ SFBUGS.FIX A list of bugs and possible fixes to SFLOAT
-
- # 1 June 25, 1988
- Error in F+ at 0C $: + 5
- Was:
- JNC 12 $
- XOR CH, # 80
-
- Should be:
- JA 12 $ \ Branch if F1 > F2 and high part <> 0
- JC 1C $ \ Branch if F1 < F2
- OR SI, SI
- JNZ 12 $ \ Br if F1 > F2, low part <> 0
- 0C $: XOR CH, # 80
-
-
- # 2 06/27/88 11:46
- Missing # operator in SFLOAT1 and SFLOAT2
- Line 1019 in SFLOAT1.SEQ:
- Was:
- MOV AX, -1
-
- Should be:
- MOV AX, # -1
-
- Line 866 in SFLOAT2.SEQ:
- Was:
- MOV AX, -1
-
- Should be:
- MOV AX, # -1
-
- # 3 06/27/88 12:26 Reported by Jay McKnight
- In SFLOAT2.SEQ, insert after line 45:
-
- 8DDE 935D 4001 FCONSTANT FLN10.0
-
- In SFLOAT3.SEQ, change line 402.
- Was:
- F10.0 F* FEXP ;
-
- Should be:
- FLN10.0 F* FEXP ;
-
- # 4 06/27/88 12:59 Reported by Jay McKnight
- After FLOATS mode set, single numbers were treated as floating.
- In SFLOAT3.SEQ, change line 807:
- Was:
- ELSE DROP DPL @ FLTS @ AND
-
- Should read:
- ELSE DROP DPL @ 0> FLTS @ AND
-
- # 5 06/27/88 13:05 Reported by Jay McKnight
- Put in Help word for FALOG
-
- # 6 06/28/88 02:02 Reported by Jay McKnight and Tom Zimmer
- (Error in F.) Change line 554 in SFLOAT2.SEQ:
- Was:
- JC 0E $
-
- Should be:
- JC 11 $
-
- # 7 06/28/88 07:53 Reported by Jay McKnight and Tom Zimmer
- (Error in F. ) In SFLOAT3.SEQ:
- Line 567 was:
- : (F.1) ( F: r1 -- r2 r3 ; #pl -- sign flag )
-
- Should be:
- : (F.1) ( F: r1 -- r2 r3 ; #pl -- sign #pl flag )
-
- Line 577 was:
- IF FNIP [ LAST @ NAME> ] ...
-
- Should be:
- IF DROP FNIP [ LAST @ NAME> ] ...
-
- Line 584 was:
- IF F2DROP [ LAST @ NAME> ] ...
-
- Should be:
- IF DROP FDROP [ LAST @ NAME> ] ...
-
-
- # 8 06/29/88 06:29 Reported by Jay McKnight.
- (Error in FALOG reported)
- In SFLOAT3.SEQ:
- Line 38 was:
- 3FFF , DE45 , 5D58 , 3FFF , FD1D , E618 ,
-
- Should be:
- 3FFF , DE45 , 5DF8 , 3FFF , FD1D , E618 ,
-
-
- # 9 06/29/88 07:05 Suggested by ??? at local FIG meeting.
- In SFLOAT3, the function FTRIG0 was added. This is based on
- a function in APL (A Programming Language). The most obvious
- way to implement this function is not the most accurate.
-
-
- # 10 06/29/88 23:39 Bug reported by Jay McKnight
- The declaration for FCONSTANT F0.5 moved from SFLOAT3.SEQ
- to SFLOAT2.SEQ, line 49. The bug was an error in FIX .
-
-
- # 11 06/29/88 23:49 Bug reported by Jay McKnight (See # 10)
- In SFLOAT2.SEQ, Line 121:
- Was:
- MOV BX, 4 [BX]
-
- Should be:
- MOV DI, 4 [BX]
- ADD BX, # 6
- MOV FSP BX
- MOV BX, DI
-
-
- # 12 06/30/88 01:17 Bug reported by Jay McKnight
- Bug report was that UNPACK hangs the system.
- In SFLOAT3.SEQ :
- Replace UNPACK with the following:
-
- : UNPACK ( F: r -- ; -- d n )
- FDUP0= \ Check for 0.0
- IF FDROP 0 0 0 FPUSH EXIT THEN \ Handle 0.0
- FPSEXP FABS FDUP FLOG FLOOR 1+ >R \ Save Sign, output exp.
- 09 R@ - F10.0 F**N* \ Scale the number
- F0.5 F+ FINT \ Round the result
- FDUP 2800 EE6B 401D FPUSH ( 10^9 )
- F< 0= \ Compare with 10^9
- IF F10.0 F/ R> 1+ \ If too large, divide by 10
- ELSE R>
- THEN
- SWAP 0<
- IF FNEGATE THEN
- >R INT R> 9 - ;
-
- # 13 06/30/88 02:58 Bug report by Jay McKnight
- Report that F# didn't work as advertised.
- In SFLOAT3.SEQ, replace F# with the following:
-
- : F# ( F: -- r ; fnumber --- )
- BL WORD FNUMBER 0< 0=
- IF DUP 0<
- IF DABS 0 TFLOAT FNEGATE
- ELSE 0 TFLOAT
- THEN
- DPL @ 0>
- IF DPL @ NEGATE F10.0 F**N*
- THEN
- THEN ;
-
- # 14 07/16/88 07:06 Suggestion by Jay McKnight
- FDEPTH was changed to return the number of floating point words on
- the floating point stack (rather than the number of bytes).
-
- # 15 07/16/88 07:08
- It is also worth noting that a few changes have been made in F-PC
- which are relected in some small changes in SFLOAT, or in its action.
- One example is that the F-83 word .2 was changed to .2W so that
- it would not be confused with a double integer or a floating point
- number. Another example is that the phrase R> DROP has been
- reduced to a single word R>DROP .
-
- #16 07/20/88 00:27
- Tom Zimmer added to FNUMBER the ability to enter literals with
- a prefix indicating hexadecimal or character strings.
-
- #17 08/01/88 02:17:15.23
- Rename F\ROT to F-ROT for consistency with other Floating
- Point packages.
-
- #18 08/01/88 02:18:27.51
- Added a new function: FXSWAP . This is a close as I am willing
- to go toward a "FROLL" function. This performs an exchange of
- the top floating point stack item with the n-th floating point
- stack item, counting from 0. Thus 1 FNSWAP is equivalent to
- FSWAP .
-
- #19 09/22/88 10:48:12.19
- Corrected a bug in FLN which caused computer to hang when FLN
- was applied to a negative number.
-
- #20 09/26/88 03:53:43.68
- Mark Smiley noted that F0.0 F. left garbage on the normal stack.
- Bug was fixed. Version number now V2.07.
-
- #21 12/03/88 01:20:03.89
- Fixed an error in F= . Sped up FNSWAP .
-
- #22 05/20/89 16:35:38.33
- Minor fix allows large number of digits in numeric input.
-
- #23 05/26/89 23:55:05.37
- Tom Zimmer discovered a bug in FSQRT where BP register not
- restored for certain error condition. Fix was simple.
-
- #24 10/23/89 10:20:02.90
- Mark Smiley discovered a bug in F+ where an infinite loop may
- occur. To fix add a label to line 369:
-
- 1D: AND BH, BH
-
- Also change line 397:
-
- JMP 1D $
-
- #25 02/11/90 14:30:10.19
- A bug in FLN was reported from the East Coast Forth Board,
- via Mark Smiley. As a result, I discovered one very bad value
- in LOGTAB1 , and 3 minor errors. The worst one was that the
- value D227 at 6 words from the end of LOGTAB1 should be DA27 .
- I also changed the version number to 2.20.
-
- #25 08/20/90 11:01:30.04
- Jerry Modrow reported that F0> did not work properly (clobbered
- the floating point stack). Bug fixed and tested. Version
- number now 2.21.
-
-
-