math.libm combinators fry math.order sequences ;
IN: math.functions
-GENERIC: >fraction ( a/b -- a b )
-
-M: integer >fraction 1 ; inline
-
-M: ratio >fraction [ numerator ] [ denominator ] bi ; inline
-
: rect> ( x y -- z )
! Note: an imaginary 0.0 should still create a complex
dup 0 = [ drop ] [ complex boa ] if ; inline
M: ratio numerator numerator>> ; inline
M: ratio denominator denominator>> ; inline
+M: ratio >fraction [ numerator ] [ denominator ] bi ; inline
M: ratio < scale < ;
M: ratio <= scale <= ;
M: integer numerator ; inline
M: integer denominator drop 1 ; inline
+M: integer >fraction 1 ; inline
M: fixnum >fixnum ; inline
M: fixnum >bignum fixnum>bignum ; inline
GENERIC: numerator ( a/b -- a )
GENERIC: denominator ( a/b -- b )
+GENERIC: >fraction ( a/b -- a b )
GENERIC: real-part ( z -- x )
GENERIC: imaginary-part ( z -- y )