fix fl comparison with more than inline-args-limit
arguments
original commit: 0efbfb50b372009d0974edc01e6194179d7300ef
This commit is contained in:
parent
43e2bc0327
commit
f3209ca63c
12
mats/fl.ms
12
mats/fl.ms
|
@ -1105,4 +1105,16 @@
|
|||
(bytevector-ieee-double-native-set! bv 0 (fl+ v 0.1))
|
||||
(fl* v 0.99)))))
|
||||
|
||||
(begin
|
||||
(define many-compare
|
||||
(lambda (a b c d e f g h i j k)
|
||||
(fl<= a b c d e f g h i j k)))
|
||||
(many-compare 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0))
|
||||
|
||||
(begin
|
||||
(define many-add
|
||||
(lambda (a b c d e f g h i j k)
|
||||
(fl+ a b c d e f g h i j k)))
|
||||
(fl= 66.0 (many-add 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0 11.0)))
|
||||
|
||||
)
|
||||
|
|
|
@ -7667,14 +7667,18 @@
|
|||
,(build-fl= e1)
|
||||
,(build-libcall #t src sexpr op e1 e1))))]
|
||||
[(e1 e2) (build-bind-and-check src sexpr op e1 e2 (builder args ...))]
|
||||
[(e1 e2 . e*) (build-check-fp-arguments (cons* e1 e2 e*)
|
||||
(lambda (e1 e2) (build-libcall #t src sexpr op e1 e2))
|
||||
(lambda (e1 e2 . e*) (reducer src sexpr moi e1 e2 e*)))])
|
||||
[(e1 e2 . e*) (and
|
||||
(fx<= (length e*) (fx- inline-args-limit 2))
|
||||
(build-check-fp-arguments (cons* e1 e2 e*)
|
||||
(lambda (e1 e2) (build-libcall #t src sexpr op e1 e2))
|
||||
(lambda (e1 e2 . e*) (reducer src sexpr moi e1 e2 e*))))])
|
||||
(define-inline 2 r6rs:op
|
||||
[(e1 e2) (build-bind-and-check src sexpr r6rs:op e1 e2 (builder args ...))]
|
||||
[(e1 e2 . e*) (build-check-fp-arguments (cons* e1 e2 e*)
|
||||
(lambda (e1 e2) (build-libcall #t src sexpr r6rs:op e1 e2))
|
||||
(lambda (e1 e2 . e*) (reducer src sexpr moi e1 e2 e*)))])))])))
|
||||
[(e1 e2 . e*) (and
|
||||
(fx<= (length e*) (fx- inline-args-limit 2))
|
||||
(build-check-fp-arguments (cons* e1 e2 e*)
|
||||
(lambda (e1 e2) (build-libcall #t src sexpr r6rs:op e1 e2))
|
||||
(lambda (e1 e2 . e*) (reducer src sexpr moi e1 e2 e*))))])))])))
|
||||
|
||||
(define-fl-cmp-inline fl= fl=? build-fl= #f #f)
|
||||
(define-fl-cmp-inline fl< fl<? build-fl< #t #f)
|
||||
|
|
Loading…
Reference in New Issue
Block a user