diff options
author | Andy Wingo <wingo@pobox.com> | 2011-04-01 16:45:58 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2011-04-01 16:45:58 +0200 |
commit | 39bed56f670267f66d99f98cd58978871b789557 (patch) | |
tree | f55803c8d15023aa76ca848105ca5d49dbbeb3c1 /module/srfi/srfi-4 | |
parent | c6b08d21947b1b33de1e8cd364553112d4015253 (diff) | |
download | guile-39bed56f670267f66d99f98cd58978871b789557.tar.gz |
fix c32vector-set!, c64vector-set!
* module/srfi/srfi-4/gnu.scm (bytevector-c32-native-set!):
(bytevector-c64-native-set!): Fix to actually allow complex numbers.
* test-suite/tests/srfi-4.test: Add tests.
Diffstat (limited to 'module/srfi/srfi-4')
-rw-r--r-- | module/srfi/srfi-4/gnu.scm | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/module/srfi/srfi-4/gnu.scm b/module/srfi/srfi-4/gnu.scm index 8cd5e895b..ac22809ea 100644 --- a/module/srfi/srfi-4/gnu.scm +++ b/module/srfi/srfi-4/gnu.scm @@ -1,6 +1,6 @@ ;;; Extensions to SRFI-4 -;; Copyright (C) 2009, 2010 Free Software Foundation, Inc. +;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. ;; ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -83,14 +83,14 @@ (make-rectangular (bytevector-ieee-single-native-ref v i) (bytevector-ieee-single-native-ref v (+ i 4)))) (define (bytevector-c32-native-set! v i x) - (bytevector-ieee-single-native-set! v i x) - (bytevector-ieee-single-native-set! v (+ i 4) x)) + (bytevector-ieee-single-native-set! v i (real-part x)) + (bytevector-ieee-single-native-set! v (+ i 4) (imag-part x))) (define (bytevector-c64-native-ref v i) (make-rectangular (bytevector-ieee-double-native-ref v i) (bytevector-ieee-double-native-ref v (+ i 8)))) (define (bytevector-c64-native-set! v i x) - (bytevector-ieee-double-native-set! v i x) - (bytevector-ieee-double-native-set! v (+ i 8) x)) + (bytevector-ieee-double-native-set! v i (real-part x)) + (bytevector-ieee-double-native-set! v (+ i 8) (imag-part x))) (define-bytevector-type c32 c32-native 8) (define-bytevector-type c64 c64-native 16) |