Add delays to unboxed let to avoid optimizing twice.
This commit is contained in:
parent
f1b52be26a
commit
c1bfc9601e
|
@ -97,16 +97,17 @@
|
|||
[(vs rhs:opt-expr)
|
||||
#'((vs rhs.opt))]))))
|
||||
(define-syntax-class unboxed-clauses
|
||||
#:attributes ([bindings 1])
|
||||
#:attributes (bindings)
|
||||
(pattern (clauses:unboxed-clause ...)
|
||||
#:with (bindings ...) (template ((?@ . clauses.bindings) ...))))]
|
||||
#:attr bindings (delay (template ((?@ . clauses.bindings) ...)))))]
|
||||
|
||||
#:with opt
|
||||
#:attr opt
|
||||
(syntax-parse #'(clause ...)
|
||||
[clauses:unboxed-clauses
|
||||
(quasisyntax/loc/origin
|
||||
this-syntax #'letk.kw
|
||||
(letk.key ... (clauses.bindings ...) body.opt ...))])))
|
||||
(delay
|
||||
(quasisyntax/loc/origin
|
||||
this-syntax #'letk.kw
|
||||
(letk.key ... clauses.bindings body.opt ...)))])))
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@ TR info: mandelbrot.rkt 10:18 (* 2.0 y) -- possible exact real arith
|
|||
TR info: mandelbrot.rkt 11:15 (/ (* 2.0 x) n) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 11:18 (* 2.0 x) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 21:28 (* 2 zr zi) -- possible exact real arith
|
||||
TR info: mandelbrot.rkt 21:28 (* 2 zr zi) -- possible exact real arith
|
||||
TR missed opt: mandelbrot.rkt 10:12 (- (/ (* 2.0 y) n) 1.0) -- all args float-arg-expr, result not Float -- caused by: 10:15 (/ (* 2.0 y) n)
|
||||
TR missed opt: mandelbrot.rkt 10:12 (- (/ (* 2.0 y) n) 1.0) -- exact ops inside float expr -- caused by: 10:15 (/ (* 2.0 y) n)
|
||||
TR missed opt: mandelbrot.rkt 10:15 (/ (* 2.0 y) n) -- all args float-arg-expr, result not Float -- caused by: 10:18 (* 2.0 y), 10:28 n
|
||||
|
@ -15,20 +14,12 @@ TR missed opt: mandelbrot.rkt 11:12 (- (/ (* 2.0 x) n) 1.5) -- exact ops inside
|
|||
TR missed opt: mandelbrot.rkt 11:15 (/ (* 2.0 x) n) -- all args float-arg-expr, result not Float -- caused by: 11:18 (* 2.0 x), 11:28 n
|
||||
TR missed opt: mandelbrot.rkt 11:18 (* 2.0 x) -- all args float-arg-expr, result not Float -- caused by: 11:25 x
|
||||
TR missed opt: mandelbrot.rkt 18:14 (> (+ zrq ziq) 4) -- generic comparison -- caused by: 18:29 4
|
||||
TR missed opt: mandelbrot.rkt 18:14 (> (+ zrq ziq) 4) -- generic comparison -- caused by: 18:29 4
|
||||
TR missed opt: mandelbrot.rkt 21:25 (- (* 2 zr zi) ci) -- all args float-arg-expr, result not Float -- caused by: 21:28 (* 2 zr zi)
|
||||
TR missed opt: mandelbrot.rkt 21:25 (- (* 2 zr zi) ci) -- all args float-arg-expr, result not Float -- caused by: 21:28 (* 2 zr zi)
|
||||
TR missed opt: mandelbrot.rkt 21:28 (* 2 zr zi) -- all args float-arg-expr, result not Float -- caused by: 21:31 2
|
||||
TR missed opt: mandelbrot.rkt 21:28 (* 2 zr zi) -- all args float-arg-expr, result not Float -- caused by: 21:31 2
|
||||
TR opt: mandelbrot.rkt 15:21 (* zr zr) -- binary float
|
||||
TR opt: mandelbrot.rkt 15:21 (* zr zr) -- binary float
|
||||
TR opt: mandelbrot.rkt 16:21 (* zi zi) -- binary float
|
||||
TR opt: mandelbrot.rkt 16:21 (* zi zi) -- binary float
|
||||
TR opt: mandelbrot.rkt 18:17 (+ zrq ziq) -- binary float
|
||||
TR opt: mandelbrot.rkt 18:17 (+ zrq ziq) -- binary float
|
||||
TR opt: mandelbrot.rkt 20:25 (+ (- zrq ziq) cr) -- binary float
|
||||
TR opt: mandelbrot.rkt 20:25 (+ (- zrq ziq) cr) -- binary float
|
||||
TR opt: mandelbrot.rkt 20:28 (- zrq ziq) -- binary float
|
||||
TR opt: mandelbrot.rkt 20:28 (- zrq ziq) -- binary float
|
||||
END
|
||||
""
|
||||
|
|
|
@ -7,7 +7,6 @@ TR info: marketplace-struct.rkt 96:3 vm -- struct constructor
|
|||
TR missed opt: marketplace-struct.rkt 118:34 (in-hash-keys (vm-processes state)) -- non-specialized for clause
|
||||
TR missed opt: marketplace-struct.rkt 127:32 (in-hash-keys (vm-processes state)) -- non-specialized for clause
|
||||
TR missed opt: marketplace-struct.rkt 132:46 (in-hash-keys (process-endpoints p)) -- non-specialized for clause
|
||||
TR missed opt: marketplace-struct.rkt 132:46 (in-hash-keys (process-endpoints p)) -- non-specialized for clause
|
||||
TR opt: marketplace-struct.rkt 103:2 (struct-copy vm state (processes (hash-set (vm-processes state) (Process-pid wp) wp))) -- dead else branch
|
||||
TR opt: marketplace-struct.rkt 103:2 (struct-copy vm state (processes (hash-set (vm-processes state) (Process-pid wp) wp))) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 103:45 (vm-processes state) -- struct ref
|
||||
|
@ -18,10 +17,6 @@ TR opt: marketplace-struct.rkt 112:60 (vm-processes state) -- struct ref
|
|||
TR opt: marketplace-struct.rkt 118:48 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 127:46 (vm-processes state) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 132:60 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 132:60 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 133:35 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 133:35 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 133:35 (process-endpoints p) -- struct ref
|
||||
TR opt: marketplace-struct.rkt 133:35 (process-endpoints p) -- struct ref
|
||||
END
|
||||
""
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
TR info: dead-inf-comp.rkt 102:4 (>= -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 105:4 (>= rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 110:41 displayln -- hidden parameter
|
||||
TR info: dead-inf-comp.rkt 110:41 displayln -- hidden parameter
|
||||
TR info: dead-inf-comp.rkt 57:4 (< rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 60:4 (< +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 63:4 (< rat -inf.f) -- possible exact real arith
|
||||
|
@ -20,7 +19,6 @@ TR info: dead-inf-comp.rkt 96:4 (>= +inf.f rat) -- possible exact real arith
|
|||
TR info: dead-inf-comp.rkt 99:4 (>= rat +inf.f) -- possible exact real arith
|
||||
TR missed opt: dead-inf-comp.rkt 10:4 (< rat -inf.0) -- generic comparison -- caused by: 10:7 rat
|
||||
TR missed opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- generic comparison -- caused by: 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i))
|
||||
TR missed opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- generic comparison -- caused by: 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i))
|
||||
TR missed opt: dead-inf-comp.rkt 13:4 (< -inf.0 rat) -- generic comparison -- caused by: 13:14 rat
|
||||
TR missed opt: dead-inf-comp.rkt 17:4 (> +inf.0 rat) -- generic comparison -- caused by: 17:14 rat
|
||||
TR missed opt: dead-inf-comp.rkt 20:4 (> rat +inf.0) -- generic comparison -- caused by: 20:7 rat
|
||||
|
@ -45,9 +43,6 @@ TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (display
|
|||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
|
||||
TR opt: dead-inf-comp.rkt 110:36 3 -- in-range
|
||||
TR opt: dead-inf-comp.rkt 11:4 (quote dead) -- dead then branch
|
||||
TR opt: dead-inf-comp.rkt 15:4 (quote dead) -- dead else branch
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-bytes.rkt 2:7 display -- hidden parameter
|
||||
TR info: in-bytes.rkt 2:7 display -- hidden parameter
|
||||
TR opt: in-bytes.rkt 1:20 #"123" -- in-bytes
|
||||
END
|
||||
"495051"
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-list.rkt 2:7 display -- hidden parameter
|
||||
TR info: in-list.rkt 2:7 display -- hidden parameter
|
||||
TR opt: in-list.rkt 1:20 (quote (1 2 3)) -- in-list
|
||||
END
|
||||
"123"
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-range.rkt 2:3 display -- hidden parameter
|
||||
TR info: in-range.rkt 2:3 display -- hidden parameter
|
||||
TR opt: in-range.rkt 1:9 4 -- in-range
|
||||
END
|
||||
"0123"
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-string.rkt 2:7 display -- hidden parameter
|
||||
TR info: in-string.rkt 2:7 display -- hidden parameter
|
||||
TR opt: in-string.rkt 1:17 "123" -- in-string
|
||||
END
|
||||
"123"
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: in-vector.rkt 2:7 display -- hidden parameter
|
||||
TR info: in-vector.rkt 2:7 display -- hidden parameter
|
||||
TR opt: in-vector.rkt 1:20 (vector 1 2 3) -- in-vector
|
||||
END
|
||||
"123"
|
||||
|
|
|
@ -1,71 +1,24 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- binary fixnum comp
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- binary fixnum comp
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- binary fixnum comp
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- binary fixnum comp
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- fixnum bounded expr
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- fixnum bounded expr
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- fixnum bounded expr
|
||||
TR opt: vector-sum.rkt 10:2 (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) -- fixnum bounded expr
|
||||
TR opt: vector-sum.rkt 11:21 (sin (exact->inexact i)) -- unary float
|
||||
TR opt: vector-sum.rkt 11:21 (sin (exact->inexact i)) -- unary float
|
||||
TR opt: vector-sum.rkt 11:21 (sin (exact->inexact i)) -- unary float
|
||||
TR opt: vector-sum.rkt 11:21 (sin (exact->inexact i)) -- unary float
|
||||
TR opt: vector-sum.rkt 11:26 (exact->inexact i) -- fixnum to float
|
||||
TR opt: vector-sum.rkt 11:26 (exact->inexact i) -- fixnum to float
|
||||
TR opt: vector-sum.rkt 11:26 (exact->inexact i) -- fixnum to float
|
||||
TR opt: vector-sum.rkt 11:26 (exact->inexact i) -- fixnum to float
|
||||
TR opt: vector-sum.rkt 11:4 (vector-set! v i (sin (exact->inexact i))) -- vector partial bounds checking elimination
|
||||
TR opt: vector-sum.rkt 11:4 (vector-set! v i (sin (exact->inexact i))) -- vector partial bounds checking elimination
|
||||
TR opt: vector-sum.rkt 11:4 (vector-set! v i (sin (exact->inexact i))) -- vector partial bounds checking elimination
|
||||
TR opt: vector-sum.rkt 11:4 (vector-set! v i (sin (exact->inexact i))) -- vector partial bounds checking elimination
|
||||
TR opt: vector-sum.rkt 12:15 sum -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:15 sum -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:15 sum -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:15 sum -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:15 sum -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:15 sum -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:15 sum -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:15 sum -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- binary fixnum comp
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- binary fixnum comp
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- binary fixnum comp
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- binary fixnum comp
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- fixnum bounded expr
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- fixnum bounded expr
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- fixnum bounded expr
|
||||
TR opt: vector-sum.rkt 12:2 (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i))) -- fixnum bounded expr
|
||||
TR opt: vector-sum.rkt 14:11 (vector-ref v i) -- vector partial bounds checking elimination
|
||||
TR opt: vector-sum.rkt 14:11 (vector-ref v i) -- vector partial bounds checking elimination
|
||||
TR opt: vector-sum.rkt 14:11 (vector-ref v i) -- vector partial bounds checking elimination
|
||||
TR opt: vector-sum.rkt 14:11 (vector-ref v i) -- vector partial bounds checking elimination
|
||||
TR opt: vector-sum.rkt 14:4 (+ sum (vector-ref v i)) -- binary float
|
||||
TR opt: vector-sum.rkt 14:4 (+ sum (vector-ref v i)) -- binary float
|
||||
TR opt: vector-sum.rkt 14:4 (+ sum (vector-ref v i)) -- binary float
|
||||
TR opt: vector-sum.rkt 14:4 (+ sum (vector-ref v i)) -- binary float
|
||||
TR opt: vector-sum.rkt 9:0 (for ((i (in-range 1))) (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 9:0 (for ((i (in-range 1))) (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 9:0 (for ((i (in-range 1))) (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 9:0 (for ((i (in-range 1))) (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i)))) -- dead else branch
|
||||
TR opt: vector-sum.rkt 9:0 (for ((i (in-range 1))) (for: ((i : Nonnegative-Fixnum (in-range l))) (vector-set! v i (sin (exact->inexact i)))) (for/fold: ((sum : Float 0.0)) ((i : Nonnegative-Fixnum (in-range l))) (+ sum (vector-ref v i)))) -- dead else branch
|
||||
|
|
Loading…
Reference in New Issue
Block a user