Diff for /gforth/float.fs between versions 1.53 and 1.54

version 1.53, 2007/12/31 18:40:24 version 1.54, 2009/05/24 17:36:36
Line 233  set-current Line 233  set-current
         fnegate f~rel          fnegate f~rel
     THEN ;      THEN ;
   
   -0e fp@ c@ $80 = [if] 0 [else] 7 [endif] constant fsign-offset
   
   : fcopysign ( r1 r2 -- r3 ) \ gforth
   \G r3 takes its absolute value from r1 and its sign from r2
       \ !! implementation relies on IEEE DP format
       fp@ dup fsign-offset + dup c@ $80 and >r ( r1 r2 addr-r1sign )
       float + dup c@ $7f and r> or swap c!
       fdrop ;
   
 \ proposals from Krishna Myeni in <cjsp2d$47l$1@ngspool-d02.news.aol.com>  \ proposals from Krishna Myeni in <cjsp2d$47l$1@ngspool-d02.news.aol.com>
 \ not sure if they are a good idea  \ not sure if they are a good idea
   
 : FTRUNC ( r1 -- r2 )  : ftrunc ( r1 -- r2 ) \ X:ftrunc
     \ round towards 0      \ round towards 0
     \ !! should be implemented properly      fdup fabs floor fswap fcopysign ;
     F>D D>F ;  
   
 : FMOD ( r1 r2 -- r )  : FMOD ( r1 r2 -- r )
     \ remainder of r1/r2      \ remainder of r1/r2
     FOVER FOVER F/ ftrunc F* F- ;      FOVER FOVER F/ ftrunc F* F- ;
   

Removed from v.1.53  
changed lines
  Added in v.1.54


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