From a884cc9ff76bc94425e0cfd62f7f20a0681f463a Mon Sep 17 00:00:00 2001 From: Abdulaziz Ghuloum Date: Sun, 2 Aug 2009 21:44:02 +0300 Subject: [PATCH] fixed bytevector-ieee-double-{ref,set!} that use wrong endianness when the index is unaligned. --- scheme/ikarus.bytevectors.ss | 8 ++++---- scheme/last-revision | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scheme/ikarus.bytevectors.ss b/scheme/ikarus.bytevectors.ss index 9fba1ad..47eff3d 100644 --- a/scheme/ikarus.bytevectors.ss +++ b/scheme/ikarus.bytevectors.ss @@ -886,7 +886,7 @@ (die 'bytevector-ieee-single-native-set! "invalid index" i)) (die 'bytevector-ieee-single-native-set! "not a bytevector" bv))) - (define ($bytevector-ieee-double-ref/little x i) + (define ($bytevector-ieee-double-ref/big x i) (import (ikarus system $flonums)) (let ([y ($make-flonum)]) ($flonum-set! y 0 ($bytevector-u8-ref x i)) @@ -899,7 +899,7 @@ ($flonum-set! y 7 ($bytevector-u8-ref x ($fx+ i 7))) y)) - (define ($bytevector-ieee-double-set!/little x i y) + (define ($bytevector-ieee-double-set!/big x i y) (import (ikarus system $flonums)) ($bytevector-set! x i ($flonum-u8-ref y 0)) ($bytevector-set! x ($fx+ i 1) ($flonum-u8-ref y 1)) @@ -910,7 +910,7 @@ ($bytevector-set! x ($fx+ i 6) ($flonum-u8-ref y 6)) ($bytevector-set! x ($fx+ i 7) ($flonum-u8-ref y 7))) - (define ($bytevector-ieee-double-ref/big x i) + (define ($bytevector-ieee-double-ref/little x i) (import (ikarus system $flonums)) (let ([y ($make-flonum)]) ($flonum-set! y 7 ($bytevector-u8-ref x i)) @@ -923,7 +923,7 @@ ($flonum-set! y 0 ($bytevector-u8-ref x ($fx+ i 7))) y)) - (define ($bytevector-ieee-double-set!/big x i y) + (define ($bytevector-ieee-double-set!/little x i y) (import (ikarus system $flonums)) ($bytevector-set! x i ($flonum-u8-ref y 7)) ($bytevector-set! x ($fx+ i 1) ($flonum-u8-ref y 6)) diff --git a/scheme/last-revision b/scheme/last-revision index eca61c4..4e6b92a 100644 --- a/scheme/last-revision +++ b/scheme/last-revision @@ -1 +1 @@ -1840 +1841