* Added the rest of fl=? fl<? fl<=? fl>? fl>=?
This commit is contained in:
parent
adb65c1b84
commit
88d8e198fc
BIN
src/ikarus.boot
BIN
src/ikarus.boot
Binary file not shown.
|
@ -100,7 +100,8 @@
|
||||||
(export + - * / zero? = < <= > >= add1 sub1 quotient remainder
|
(export + - * / zero? = < <= > >= add1 sub1 quotient remainder
|
||||||
positive? expt gcd lcm numerator denominator exact-integer-sqrt
|
positive? expt gcd lcm numerator denominator exact-integer-sqrt
|
||||||
quotient+remainder number->string string->number max
|
quotient+remainder number->string string->number max
|
||||||
exact->inexact floor ceiling log fl<? fl+ fl-)
|
exact->inexact floor ceiling log fl=? fl<? fl<=? fl>?
|
||||||
|
fl>=? fl+ fl-)
|
||||||
(import
|
(import
|
||||||
(ikarus system $fx)
|
(ikarus system $fx)
|
||||||
(ikarus system $flonums)
|
(ikarus system $flonums)
|
||||||
|
@ -114,7 +115,7 @@
|
||||||
string->number expt gcd lcm numerator denominator
|
string->number expt gcd lcm numerator denominator
|
||||||
exact->inexact floor ceiling log
|
exact->inexact floor ceiling log
|
||||||
exact-integer-sqrt max
|
exact-integer-sqrt max
|
||||||
fl<? fl+ fl-))
|
fl=? fl<? fl<=? fl>? fl>=? fl+ fl-))
|
||||||
|
|
||||||
(define (fixnum->flonum x)
|
(define (fixnum->flonum x)
|
||||||
(foreign-call "ikrt_fixnum_to_flonum" x))
|
(foreign-call "ikrt_fixnum_to_flonum" x))
|
||||||
|
@ -1136,6 +1137,9 @@
|
||||||
(define-syntax $fl>=
|
(define-syntax $fl>=
|
||||||
(syntax-rules () [(_ x y) (foreign-call "ikrt_fl_less_or_equal" y x)]))
|
(syntax-rules () [(_ x y) (foreign-call "ikrt_fl_less_or_equal" y x)]))
|
||||||
|
|
||||||
|
(define-syntax define-flcmp
|
||||||
|
(syntax-rules ()
|
||||||
|
[(_ fl<? $fl<)
|
||||||
(define fl<?
|
(define fl<?
|
||||||
(case-lambda
|
(case-lambda
|
||||||
[(x y)
|
[(x y)
|
||||||
|
@ -1176,7 +1180,12 @@
|
||||||
(error 'fl<? "~s is not a flonum" y)))
|
(error 'fl<? "~s is not a flonum" y)))
|
||||||
(loopf (car rest) (cdr rest)))
|
(loopf (car rest) (cdr rest)))
|
||||||
(error 'fl<? "~s is not a flonum" y))
|
(error 'fl<? "~s is not a flonum" y))
|
||||||
(error 'fl<? "~s is not a flonum" x)))]))
|
(error 'fl<? "~s is not a flonum" x)))]))]))
|
||||||
|
(define-flcmp fl=? $fl=)
|
||||||
|
(define-flcmp fl<? $fl<)
|
||||||
|
(define-flcmp fl<=? $fl<=)
|
||||||
|
(define-flcmp fl>? $fl>)
|
||||||
|
(define-flcmp fl>=? $fl>=)
|
||||||
|
|
||||||
(define fl+
|
(define fl+
|
||||||
(case-lambda
|
(case-lambda
|
||||||
|
|
|
@ -367,7 +367,11 @@
|
||||||
[fxlogxor i]
|
[fxlogxor i]
|
||||||
[fxlogor i]
|
[fxlogor i]
|
||||||
[fxlognot i]
|
[fxlognot i]
|
||||||
|
[fl=? i rfl]
|
||||||
[fl<? i rfl]
|
[fl<? i rfl]
|
||||||
|
[fl<=? i rfl]
|
||||||
|
[fl>? i rfl]
|
||||||
|
[fl>=? i rfl]
|
||||||
[fl+ i rfl]
|
[fl+ i rfl]
|
||||||
[fl- i rfl]
|
[fl- i rfl]
|
||||||
[fixnum->string i]
|
[fixnum->string i]
|
||||||
|
|
Loading…
Reference in New Issue