From f94804d7d96e8a615f44535d52b22301289b0ba7 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Mon, 15 Oct 2018 22:59:25 -0400 Subject: [PATCH] WIP --- tests/experimental/diviter.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/experimental/diviter.scm diff --git a/tests/experimental/diviter.scm b/tests/experimental/diviter.scm new file mode 100644 index 00000000..cee13f63 --- /dev/null +++ b/tests/experimental/diviter.scm @@ -0,0 +1,28 @@ +;;; DIVITER -- Benchmark which divides by 2 using lists of n ()'s. + +(import (scheme base) (scheme read) (scheme write) (scheme time)) + +(define (create-n n) + (do ((n n (- n 1)) + (a '() (cons '() a))) + ((= n 0) a))) + +(define (iterative-div2 l) + (do ((l l (cddr l)) + (a '() (cons (car l) a))) + ((null? l) a))) + +(define (main) + (let* ((count 1000000) + (input1 1000) + (output 500) + (s2 (number->string count)) + (s1 (number->string input1)) + (ll (create-n (hide count input1))) + (name "diviter")) + (run-r7rs-benchmark + (string-append name ":" s1 ":" s2) + count + (lambda () + (iterative-div2 ll)) + (lambda (result) (equal? (length result) output)))))