Diff for /gforth/float.fs between versions 1.56 and 1.62

version 1.56, 2009/12/31 15:32:35 version 1.62, 2011/11/14 22:33:22
Line 1 Line 1
 \ High level floating point                            14jan94py  \ High level floating point                            14jan94py
   
 \ Copyright (C) 1995,1997,2003,2004,2005,2006,2007,2009 Free Software Foundation, Inc.  \ Copyright (C) 1995,1997,2003,2004,2005,2006,2007,2009,2010 Free Software Foundation, Inc.
   
 \ This file is part of Gforth.  \ This file is part of Gforth.
   
Line 88  DOES> ( -- r ) Line 88  DOES> ( -- r )
     \G @code{F.} @code{FE.} and @code{FS.} to @i{u}.      \G @code{F.} @code{FE.} and @code{FS.} to @i{u}.
     to precision ;      to precision ;
   
 : scratch ( r -- addr len )  : scratch ( -- addr len )
   pad precision - precision ;    pad precision - precision ;
   
 : zeros ( n -- )   0 max 0 ?DO  '0 emit  LOOP ;  : zeros ( n -- )   0 max 0 ?DO  '0 emit  LOOP ;
Line 141  DOES> ( -- r ) Line 141  DOES> ( -- r )
         2drop false          2drop false
     THEN ;      THEN ;
   
   [ifdef] recognizer:
       ' noop
       :noname postpone Fliteral ;
       dup
       recognizer: r:fnumber
   
       : fnum-recognizer ( addr u -- float int-table | addr u r:fail )
           2dup sfnumber
           IF
               2drop r:fnumber  EXIT
           THEN
           r:fail ;
   
   ' fnum-recognizer
   forth-recognizer get-recognizers
   1+ forth-recognizer set-recognizers
   [else]
 [ifundef] compiler-notfound1  [ifundef] compiler-notfound1
 defer compiler-notfound1  defer compiler-notfound1
 ' no.extensions IS compiler-notfound1  ' no.extensions IS compiler-notfound1
Line 170  IS compiler-notfound1 Line 187  IS compiler-notfound1
         defers interpreter-notfound1          defers interpreter-notfound1
     ENDIF ;      ENDIF ;
 IS interpreter-notfound1  IS interpreter-notfound1
   [then]
   
 : fvariable ( "name" -- ) \ float f-variable  : fvariable ( "name" -- ) \ float f-variable
     Create 0.0E0 f, ;      Create 0.0E0 f, ;
Line 233  set-current Line 251  set-current
         fnegate f~rel          fnegate f~rel
     THEN ;      THEN ;
   
 -0e fp@ c@ $80 = [if] 0 [else] 7 [endif] constant fsign-offset  -0e 8 0 [do] fp@ [i] + c@ $80 = [if] [i] constant fsign-offset [then] [loop]
   
 : fcopysign ( r1 r2 -- r3 ) \ gforth  : fcopysign ( r1 r2 -- r3 ) \ gforth
 \G r3 takes its absolute value from r1 and its sign from r2  \G r3 takes its absolute value from r1 and its sign from r2

Removed from v.1.56  
changed lines
  Added in v.1.62


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>