* Fixed a bug in number->string for hex/oct/binary numbers.
This commit is contained in:
parent
4c632e435b
commit
d18a041840
|
@ -26,6 +26,9 @@
|
||||||
(exit 1))
|
(exit 1))
|
||||||
|
|
||||||
(define (call-with-output-file/truncate filename proc)
|
(define (call-with-output-file/truncate filename proc)
|
||||||
|
(display "opening ")
|
||||||
|
(write filename)
|
||||||
|
(newline)
|
||||||
(call-with-output-file filename proc))
|
(call-with-output-file filename proc))
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
|
@ -27,6 +27,9 @@
|
||||||
(apply error #f args))
|
(apply error #f args))
|
||||||
|
|
||||||
(define (call-with-output-file/truncate filename proc)
|
(define (call-with-output-file/truncate filename proc)
|
||||||
|
(display "opening ")
|
||||||
|
(write filename)
|
||||||
|
(newline)
|
||||||
(call-with-output-file filename proc))
|
(call-with-output-file filename proc))
|
||||||
|
|
||||||
; Bitwise operations on exact integers.
|
; Bitwise operations on exact integers.
|
||||||
|
|
|
@ -8574,3 +8574,28 @@ Words allocated: 220925448
|
||||||
Words reclaimed: 0
|
Words reclaimed: 0
|
||||||
Elapsed time...: 20776 ms (User: 10963 ms; System: 9734 ms)
|
Elapsed time...: 20776 ms (User: 10963 ms; System: 9734 ms)
|
||||||
Elapsed GC time: 164 ms (CPU: 166 in 843 collections.)
|
Elapsed GC time: 164 ms (CPU: 166 in 843 collections.)
|
||||||
|
|
||||||
|
****************************
|
||||||
|
Benchmarking Larceny-r6rs on Wed Nov 14 21:16:54 EST 2007 under Darwin Vesuvius.local 8.10.1 Darwin Kernel Version 8.10.1: Wed May 23 16:33:00 PDT 2007; root:xnu-792.22.5~1/RELEASE_I386 i386 i386
|
||||||
|
|
||||||
|
Testing ray under Larceny-r6rs
|
||||||
|
Compiling...
|
||||||
|
Larceny v0.95 "First Safety" (Nov 8 2007 04:30:20, precise:BSD Unix:unified)
|
||||||
|
larceny.heap, built on Thu Nov 8 04:39:44 EST 2007
|
||||||
|
|
||||||
|
>
|
||||||
|
>
|
||||||
|
Running...
|
||||||
|
Larceny v0.95 "First Safety" (Nov 8 2007 04:30:20, precise:BSD Unix:unified)
|
||||||
|
larceny.heap, built on Thu Nov 8 04:39:44 EST 2007
|
||||||
|
|
||||||
|
>
|
||||||
|
opening "spheres.pgm"
|
||||||
|
opening "spheres.pgm"
|
||||||
|
opening "spheres.pgm"
|
||||||
|
opening "spheres.pgm"
|
||||||
|
opening "spheres.pgm"
|
||||||
|
Words allocated: 221189818
|
||||||
|
Words reclaimed: 0
|
||||||
|
Elapsed time...: 20809 ms (User: 11008 ms; System: 9796 ms)
|
||||||
|
Elapsed GC time: 164 ms (CPU: 175 in 844 collections.)
|
||||||
|
|
|
@ -1305,11 +1305,10 @@
|
||||||
[($fxzero? b) n]
|
[($fxzero? b) n]
|
||||||
[else (add-bits ($fxsra b 1) ($fx+ n 1))]))
|
[else (add-bits ($fxsra b 1) ($fx+ n 1))]))
|
||||||
(let f ([i ($fxsub1 ($bignum-size x))])
|
(let f ([i ($fxsub1 ($bignum-size x))])
|
||||||
(let ([i ($fxsub1 i)])
|
(let ([b ($bignum-byte-ref x i)])
|
||||||
(let ([b ($bignum-byte-ref x i)])
|
(cond
|
||||||
(cond
|
[($fxzero? b) (f ($fxsub1 i))]
|
||||||
[($fxzero? b) (f i)]
|
[else (add-bits b ($fxsll i 3))]))))
|
||||||
[else (add-bits b ($fxsll i 3))])))))
|
|
||||||
(define (bignum->power-string x mask shift)
|
(define (bignum->power-string x mask shift)
|
||||||
(let ([bits (bignum-bits x)])
|
(let ([bits (bignum-bits x)])
|
||||||
(let ([chars (fxquotient (fx+ bits (fx- shift 1)) shift)])
|
(let ([chars (fxquotient (fx+ bits (fx- shift 1)) shift)])
|
||||||
|
|
Loading…
Reference in New Issue