2007-06-13 10:49:54 -04:00
|
|
|
;;; SUM -- Compute sum of integers from 0 to 10000
|
|
|
|
|
2007-11-04 12:03:32 -05:00
|
|
|
(library (rnrs-benchmarks sum)
|
2007-06-13 10:49:54 -04:00
|
|
|
(export main)
|
2007-11-04 12:03:32 -05:00
|
|
|
(import (rnrs) (rnrs-benchmarks))
|
2007-06-13 10:49:54 -04:00
|
|
|
|
|
|
|
(define (run n)
|
|
|
|
(let loop ((i n) (sum 0))
|
|
|
|
(if (< i 0)
|
|
|
|
sum
|
|
|
|
(loop (- i 1) (+ i sum)))))
|
|
|
|
|
|
|
|
(define (main . args)
|
|
|
|
(run-benchmark
|
|
|
|
"sum"
|
|
|
|
sum-iters
|
|
|
|
(lambda (result) (equal? result 50005000))
|
|
|
|
(lambda (n) (lambda () (run n)))
|
|
|
|
10000)))
|