--- gforth/prim 2002/09/24 16:50:28 1.99 +++ gforth/prim 2002/10/27 09:57:11 1.101 @@ -1708,12 +1708,8 @@ r = d; #endif f>d ( r -- d ) float f_to_d -#ifdef BUGGY_LONG_LONG -d.hi = ldexp(r,-(int)(CELL_BITS)) - (r<0); -d.lo = r-ldexp((Float)d.hi,CELL_BITS); -#else -d = r; -#endif +extern DCell double2ll(Float r); +d = double2ll(r); f! ( r f_addr -- ) float f_store ""Store @i{r} into the float at address @i{f-addr}."" @@ -1803,8 +1799,9 @@ floor ( r1 -- r2 ) float /* !! unclear wording */ r2 = floor(r1); -fround ( r1 -- r2 ) float f_round -""Round to the nearest integral value."" +(fround) ( r1 -- r2 ) gforth paren_f_round +""Round to the nearest integral value. Primitive variant (unused)"" +/* !! eliminate this as primitive? */ /* !! unclear wording */ #ifdef HAVE_RINT r2 = rint(r1);