* Added native support for $fl+, $fl-, $fl*, $fl/

This commit is contained in:
Abdulaziz Ghuloum
2007-06-15 08:53:34 +03:00
parent f1674cbaef
commit 3acdcb6c04
11 changed files with 220 additions and 46 deletions
+42
View File
@@ -0,0 +1,42 @@
* conform needs char-downcase.
* maze needs bitwise-and
* ray needs many fl procedures
* quicksort needs bignum modulo.
* scheme needs complex? and other stuff.
* simplex needs flpositive?
* slatex needs string-ci=?
* compiler needs string-downcase
* ctak crashes with a bus error.
* fibc crashes with a segfault.
* ntakl kinda slow
* string too slow
* nbody does not work
* fibfp does not terminate
* mbrot too slow
* pnpoly kinda slow
* sumfp/fpsum too slow
BEFORE:
running stats for fibfp:
no collections
13316 ms elapsed cpu time
13984 ms elapsed real time
1433313736 bytes allocated
running stats for mbrot:
12145 collections
7608 ms elapsed cpu time
7660 ms elapsed real time
2215766392 bytes allocated
running stats for pnpoly:
81 collections
2622 ms elapsed cpu time
2637 ms elapsed real time
335204784 bytes allocated
running stats for sumfp:
no collections
13917 ms elapsed cpu time
30995 ms elapsed real time
1600160040 bytes allocated
+1 -1
View File
@@ -2,7 +2,7 @@
(import
(ikarus)
(r6rs-benchmarks))
#;(r6rs-benchmarks))
(define (run name)
(eval '(main) (environment (list 'r6rs-benchmarks name))))
-18
View File
@@ -1,18 +0,0 @@
* conform needs char-downcase.
* maze needs bitwise-and
* ray needs many fl procedures
* quicksort needs bignum modulo.
* scheme needs complex? and other stuff.
* simplex needs flpositive?
* slatex needs string-ci=?
* compiler needs string-downcase
* ctak crashes with a bus error.
* fibc crashes with a segfault.
* fibfp does not terminate
* mbrot too slow
* ntakl kinda slow
* pnpoly kinda slow
* sumfp/fpsum too slow
* string too slow
* nbody does not work
+10 -10
View File
@@ -6,21 +6,21 @@
(define (ctak x y z)
(call-with-current-continuation
(lambda (k) (ctak-aux k x y z))))
(lambda (k) (ctak-aux k x y z))))
(define (ctak-aux k x y z)
(if (not (< y x))
(k z)
(call-with-current-continuation
(lambda (k)
(ctak-aux
k
(call-with-current-continuation
(lambda (k) (ctak-aux k (- x 1) y z)))
(call-with-current-continuation
(lambda (k) (ctak-aux k (- y 1) z x)))
(call-with-current-continuation
(lambda (k) (ctak-aux k (- z 1) x y))))))))
(lambda (k)
(ctak-aux
k
(call-with-current-continuation
(lambda (k) (ctak-aux k (- x 1) y z)))
(call-with-current-continuation
(lambda (k) (ctak-aux k (- y 1) z x)))
(call-with-current-continuation
(lambda (k) (ctak-aux k (- z 1) x y))))))))
(define (main . args)
(run-benchmark