USING: kernel math math.private math.order ;
IN: math.floats.private
-: float-unordered? ( x y -- ? ) [ fp-nan? ] bi@ or ;
+: float-unordered? ( x y -- ? ) [ fp-nan? ] either? ;
: float-min ( x y -- z ) [ float< ] most ; foldable
: float-max ( x y -- z ) [ float> ] most ; foldable
-M: fixnum >float fixnum>float ; inline
-M: bignum >float bignum>float ; inline
-
M: float >fixnum float>fixnum ; inline
M: float >bignum float>bignum ; inline
M: float >float ; inline
M: float / float/f ; inline
M: float /f float/f ; inline
M: float /i float/f >integer ; inline
-M: float mod float-mod ; inline
M: real abs dup 0 < [ neg ] when ; inline
M: float fp-special?
- double>bits -52 shift HEX: 7ff [ bitand ] keep = ; inline
+ double>bits -52 shift 0x7ff [ bitand ] keep = ; inline
M: float fp-nan-payload
double>bits 52 2^ 1 - bitand ; inline