Added optimization for zero?.
original commit: 47195410cbbe7d19ac6e33175fd57bfce6e6c4b3
This commit is contained in:
parent
a421071d91
commit
9fea49db55
4
collects/tests/typed-scheme/optimizer/generic/zero.rkt
Normal file
4
collects/tests/typed-scheme/optimizer/generic/zero.rkt
Normal file
|
@ -0,0 +1,4 @@
|
|||
#lang typed/scheme #:optimize
|
||||
(require racket/unsafe/ops)
|
||||
(zero? 1)
|
||||
(zero? (sqrt 3.0))
|
|
@ -74,4 +74,9 @@
|
|||
(pattern (#%plain-app (~and op (~literal exact->inexact)) n:fixnum-expr)
|
||||
#:with opt
|
||||
(begin (log-optimization "fixnum to float" #'op)
|
||||
#'(unsafe-fx->fl n.opt))))
|
||||
#'(unsafe-fx->fl n.opt)))
|
||||
|
||||
(pattern (#%plain-app (~and op (~literal zero?)) n:fixnum-expr)
|
||||
#:with opt
|
||||
(begin (log-optimization "fixnum zero?" #'op)
|
||||
#'(unsafe-fx= n.opt 0))))
|
||||
|
|
|
@ -85,4 +85,9 @@
|
|||
(pattern (#%plain-app (~and op (~literal exact->inexact)) f:float-expr)
|
||||
#:with opt
|
||||
(begin (log-optimization "float to float" #'op)
|
||||
#'f.opt)))
|
||||
#'f.opt))
|
||||
|
||||
(pattern (#%plain-app (~and op (~literal zero?)) f:float-expr)
|
||||
#:with opt
|
||||
(begin (log-optimization "float zero?" #'op)
|
||||
#'(unsafe-fl= f.opt 0.0))))
|
||||
|
|
Loading…
Reference in New Issue
Block a user