check JIT and extflonum operations that are not supported
Goes with 80f84f2132
.
This commit is contained in:
parent
80f84f2132
commit
941fe38cee
|
@ -931,6 +931,43 @@
|
|||
(bin-exact 5 'check-not-unsafe-undefined 5 'check-not-unsafe-undefined #:bad-value 'unsafe-undefined)
|
||||
)
|
||||
|
||||
;; Even if extflonums are not available, check that uses don't
|
||||
;; confuse the JIT
|
||||
(let ()
|
||||
(define-syntax-rule (check-jit-ok (proc arg ...))
|
||||
(test 'no (eval '(lambda (? arg ...)
|
||||
(if ?
|
||||
(proc arg ...)
|
||||
'no)))
|
||||
#f 'arg ...))
|
||||
(check-jit-ok (extfl+ x y))
|
||||
(check-jit-ok (extfl* x y))
|
||||
(check-jit-ok (extfl- x y))
|
||||
(check-jit-ok (extfl/ x y))
|
||||
(check-jit-ok (extflmin x y))
|
||||
(check-jit-ok (extflmax x y))
|
||||
(check-jit-ok (extfl< x y))
|
||||
(check-jit-ok (extfl> x y))
|
||||
(check-jit-ok (extfl<= x y))
|
||||
(check-jit-ok (extfl>= x y))
|
||||
(check-jit-ok (extfl= x y))
|
||||
(check-jit-ok (extflabs x))
|
||||
(check-jit-ok (extflsqrt x))
|
||||
(check-jit-ok (extflsin x))
|
||||
(check-jit-ok (extflcos x))
|
||||
(check-jit-ok (extfltan x))
|
||||
(check-jit-ok (extflasin x))
|
||||
(check-jit-ok (extflacos x))
|
||||
(check-jit-ok (extflatan x))
|
||||
(check-jit-ok (extfllog x))
|
||||
(check-jit-ok (extflexp x))
|
||||
(check-jit-ok (extflexpt x y))
|
||||
(check-jit-ok (->extfl x y))
|
||||
(check-jit-ok (fx->extfl x y))
|
||||
(check-jit-ok (extflvector-length x))
|
||||
(check-jit-ok (extflvector-ref x y))
|
||||
(check-jit-ok (extflvector-set! x y z)))
|
||||
|
||||
(let ([test-setter
|
||||
(lambda (make-X def-val set-val set-name set ref 3rd-all-ok?)
|
||||
(let ([v (make-X 3 def-val)])
|
||||
|
|
Loading…
Reference in New Issue
Block a user