Diff for /gforth/float.fs between versions 1.18 and 1.21

version 1.18, 1995/11/07 18:06:40 version 1.21, 1997/05/21 20:39:25
Line 55  dofield: lastxt code-address! \ change t Line 55  dofield: lastxt code-address! \ change t
   
 : f, ( f -- )  here 1 floats allot f! ;  : f, ( f -- )  here 1 floats allot f! ;
   
 : fconstant  ( r -- ) \ float  : fconstant  ( r "name" -- ) \ float
     Create f,      Create f,
 DOES> ( -- r )  DOES> ( -- r )
     f@ ;      f@ ;
Line 98  DOES> ( -- r ) Line 98  DOES> ( -- r )
   scratch over c@ emit '. emit 1 /string type    scratch over c@ emit '. emit 1 /string type
   'E emit . ;    'E emit . ;
   
 require debugging.fs  require debugs.fs
   
 : sfnumber ( c-addr u -- r / )  : sfnumber ( c-addr u -- r true | false )
     2dup [CHAR] e scan      2dup [CHAR] e scan ( c-addr u c-addr2 u2 )
     dup 0=      dup 0=
     IF      IF
         2drop 2dup [CHAR] E scan          2drop 2dup [CHAR] E scan ( c-addr u c-addr3 u3 )
     THEN      THEN
     nip      nip
     IF      IF
         2dup >float          >float
         IF      ELSE
             2drop state @          2drop false
             IF      THEN ;
                 POSTPONE FLiteral  
             THEN  :noname ( c-addr u -- )
             EXIT      2dup sfnumber
         THEN      IF
     THEN          2drop POSTPONE FLiteral
     defers notfound ;      ELSE
           defers compiler-notfound
       ENDIF ;
   IS compiler-notfound
   
 ' sfnumber IS notfound  :noname ( c-addr u -- r )
       2dup sfnumber
       IF
           2drop
       ELSE
           defers interpreter-notfound
       ENDIF ;
   IS interpreter-notfound
   
 : fvariable ( -- )  : fvariable ( "name" -- ) \ float
     Create 0.0E0 f, ;      Create 0.0E0 f, ;
     \ does> ( -- f-addr )      \ does> ( -- f-addr )
   

Removed from v.1.18  
changed lines
  Added in v.1.21


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