From ea79cc44170ef327e97d83fd86ca9a4fc8c71d31 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 5 Dec 2012 13:54:09 -0600 Subject: [PATCH] benchmark noise Remove an unnecessary manual unrolling --- .../tests/racket/benchmarks/shootout/mandelbrot.rkt | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/collects/tests/racket/benchmarks/shootout/mandelbrot.rkt b/collects/tests/racket/benchmarks/shootout/mandelbrot.rkt index 5baddad615..a2ea6c49c7 100644 --- a/collects/tests/racket/benchmarks/shootout/mandelbrot.rkt +++ b/collects/tests/racket/benchmarks/shootout/mandelbrot.rkt @@ -25,19 +25,13 @@ (flvector-set! v x (fl- (fl/ (fx->fl (fx* 2 x)) N.0) 1.5))) v)) -(define-syntax (let-n stx) - (syntax-case stx () - [(_ N bindings E) - (let loop ([N (syntax-e #'N)] [E #'E]) - (if (zero? N) E (loop (sub1 N) #`(let bindings #,E))))])) - (define-syntax-rule (mandelbrot Cr Ci) (let loop ([i 0] [Zr 0.0] [Zi 0.0]) (cond [(fl> (fl+ (fl* Zr Zr) (fl* Zi Zi)) LIMIT-SQR) 0] [(fx= i ITERATIONS) 1] - [else (let-n 5 ([Zr (fl+ (fl- (fl* Zr Zr) (fl* Zi Zi)) Cr)] - [Zi (fl+ (fl* 2.0 (fl* Zr Zi)) Ci)]) - (loop (fx+ i 5) Zr Zi))]))) + [else (let ([Zr (fl+ (fl- (fl* Zr Zr) (fl* Zi Zi)) Cr)] + [Zi (fl+ (fl* 2.0 (fl* Zr Zi)) Ci)]) + (loop (fx+ i 1) Zr Zi))]))) (fprintf O "P4\n~a ~a\n" N N) (let loop-y ([y N])