* Added ackerman benchmark

This commit is contained in:
Abdulaziz Ghuloum 2007-06-13 10:19:16 +03:00
parent 681ec55067
commit 8cd99e6a2e
2 changed files with 22 additions and 1 deletions

View File

@ -1,6 +1,8 @@
(library (r6rs-benchmarks)
(export run-benchmark fib-iters)
(export run-benchmark
ack-iters
fib-iters)
(import (ikarus))
(define (run-bench count run)

View File

@ -0,0 +1,19 @@
;;; ACK -- One of the Kernighan and Van Wyk benchmarks.
(library (r6rs-benchmarks ack)
(export main)
(import (r6rs) (r6rs-benchmarks))
(define (ack m n)
(cond ((= m 0) (+ n 1))
((= n 0) (ack (- m 1) 1))
(else (ack (- m 1) (ack m (- n 1))))))
(define (main . args)
(run-benchmark
"ack"
ack-iters
(lambda (result) (equal? result 4093))
(lambda (m n) (lambda () (ack m n)))
3
9)))