From b966b76d5d63ea60c9b29b1a323d924cc5b05f3d Mon Sep 17 00:00:00 2001
From: Sumant Oemrawsingh <soemraws@xs4all.nl>
Date: Tue, 10 Nov 2009 23:45:07 +0100
Subject: [PATCH] Unpack now also uses stride in determining the size.

---
 fast-fourier-transforms/unpack.lisp | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/fast-fourier-transforms/unpack.lisp b/fast-fourier-transforms/unpack.lisp
index c1dafea7..e9a1852e 100644
--- a/fast-fourier-transforms/unpack.lisp
+++ b/fast-fourier-transforms/unpack.lisp
@@ -14,13 +14,13 @@
      &key (stride 1)
      (output
 	 (eltcase single-float
-		  (make-marray '(complex single-float) :dimensions (size vector))
+		  (make-marray '(complex single-float) :dimensions (floor (size vector) stride))
 		  t
-		  (make-marray '(complex double-float) :dimensions (size vector)))))
+		  (make-marray '(complex double-float) :dimensions (floor (size vector) stride)))))
   ("gsl_fft_real" :type "_unpack")
   (((c-pointer vector) :pointer)
    ((c-pointer output) :pointer)
-   (stride sizet) ((size vector) sizet))
+   (stride sizet) ((floor (size vector) stride) sizet))
   :definition :generic
   :element-types :float
   :inputs (vector output)
@@ -38,13 +38,13 @@
      &key (stride 1)
      (output
 	 (eltcase single-float
-		  (make-marray '(complex single-float) :dimensions (size vector))
+		  (make-marray '(complex single-float) :dimensions (floor (size vector) stride))
 		  t
-		  (make-marray '(complex double-float) :dimensions (size vector)))))
+		  (make-marray '(complex double-float) :dimensions (floor (size vector) stride)))))
   ("gsl_fft_halfcomplex" :type "_radix2_unpack")
   (((c-pointer vector) :pointer)
    ((c-pointer output) :pointer)
-   (stride sizet) ((size vector) sizet))
+   (stride sizet) ((floor (size vector) stride) sizet))
   :definition :generic
   :element-types :float
   :inputs (vector output)
@@ -61,13 +61,13 @@
      &key (stride 1)
      (output
 	 (eltcase single-float
-		  (make-marray '(complex single-float) :dimensions (size vector))
+		  (make-marray '(complex single-float) :dimensions (floor (size vector) stride))
 		  t
-		  (make-marray '(complex double-float) :dimensions (size vector)))))
+		  (make-marray '(complex double-float) :dimensions (floor (size vector) stride)))))
   ("gsl_fft_halfcomplex" :type "_unpack")
   (((c-pointer vector) :pointer)
    ((c-pointer output) :pointer)
-   (stride sizet) ((size vector) sizet))
+   (stride sizet) ((floor (size vector) stride) sizet))
   :definition :generic
   :element-types :float
   :inputs (vector output)
-- 
GitLab