Modified some of the untyped shootout benchmarks to be closer to the

typed versions.
This commit is contained in:
Vincent St-Amour 2010-06-11 11:30:09 -04:00
parent 7f3db138e7
commit 3e0446d774
3 changed files with 7 additions and 6 deletions

View File

@ -33,7 +33,7 @@
(else (mlength L1)))))
(define (main args)
(let ((result #f))
(let ((result 0))
(let loop ((counter (if (= (vector-length args) 0)
1
(string->number (vector-ref args 0)))))

View File

@ -3,7 +3,8 @@
#lang racket/base
(require (only-in mzlib/list sort)
(only-in mzlib/string real->decimal-string))
(only-in mzlib/string real->decimal-string)
racket/flonum)
(define (to-str n) (real->decimal-string n 6))
@ -29,15 +30,15 @@
(begin
(set! deviation (- (car nums) mean))
(set! average_deviation (+ average_deviation (abs deviation)))
(set! variance (+ variance (expt deviation 2.0)))
(set! skew (+ skew (expt deviation 3.0)))
(set! variance (+ variance (expt deviation 2)))
(set! skew (+ skew (expt deviation 3)))
(set! kurtosis (+ kurtosis (expt deviation 4)))
(loop (cdr nums)))
#t))
(set! average_deviation (/ average_deviation (exact->inexact n)))
(set! variance (/ variance (- n 1)))
(set! standard_deviation (sqrt variance))
(set! standard_deviation (flsqrt variance))
(cond ((> variance 0.0)
(set! skew (/ skew (* n variance standard_deviation)))

View File

@ -26,7 +26,7 @@ Correct output N = 1000 is
(define +pi+ 3.141592653589793)
(define +days-per-year+ 365.24)
(define +solar-mass+ (* 4 +pi+ +pi+))
(define +solar-mass+ (* 4.0 +pi+ +pi+))
(define +dt+ 0.01)