Index: trunk/Ohana/src/opihi/cmd.data/Makefile
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/Makefile	(revision 16094)
+++ trunk/Ohana/src/opihi/cmd.data/Makefile	(revision 16099)
@@ -42,4 +42,5 @@
 $(SRC)/erase.$(ARCH).o		\
 $(SRC)/extract.$(ARCH).o	\
+$(SRC)/fft1d.old.$(ARCH).o		\
 $(SRC)/fft1d.$(ARCH).o		\
 $(SRC)/fft2d.$(ARCH).o		\
Index: trunk/Ohana/src/opihi/cmd.data/fft1d.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/fft1d.c	(revision 16094)
+++ trunk/Ohana/src/opihi/cmd.data/fft1d.c	(revision 16099)
@@ -50,5 +50,5 @@
   }    
 
-  fft (Ore[0].elements, Oim[0].elements, Npix, Nbit); 
+  fft (Ore[0].elements, Oim[0].elements, Npix, Nbit, TRUE); 
   
   return (TRUE);
Index: trunk/Ohana/src/opihi/cmd.data/fft1d.old.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/fft1d.old.c	(revision 16099)
+++ trunk/Ohana/src/opihi/cmd.data/fft1d.old.c	(revision 16099)
@@ -0,0 +1,70 @@
+# include "data.h"
+
+int fft1dold (int argc, char **argv) {
+  
+  int i, Npix, ZeroImaginary;
+  float *t1, *t2, *temp;
+  Vector *Ire, *Iim, *Ore, *Oim;
+
+  if ((argc != 6) || (strcmp (argv[3], "to"))) {
+    gprint (GP_ERR, "USAGE: fft1d (real) (imag) to (real) (imag)\n");
+    return (FALSE);
+  }
+
+  Iim = NULL;
+  ZeroImaginary = TRUE;
+  if (strcmp (argv[2], "0")) {
+    ZeroImaginary = FALSE;
+    if ((Iim = SelectVector (argv[2], OLDVECTOR, TRUE)) == NULL) return (FALSE);
+  }    
+  if ((Ire = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE);
+  if ((Ore = SelectVector (argv[4], ANYVECTOR, TRUE)) == NULL) return (FALSE);
+  if ((Oim = SelectVector (argv[5], ANYVECTOR, TRUE)) == NULL) return (FALSE);
+
+  Npix = Ire[0].Nelements;
+  if (!ZeroImaginary && (Npix != Iim[0].Nelements)) {
+    gprint (GP_ERR, "vector mismatch in size\n");
+    return (FALSE);
+  }
+
+  if (!IsBinaryOld (Npix)) {
+    gprint (GP_ERR, "Npix is not a binary number!\n");
+    return (FALSE);
+  }
+  
+  ALLOCATE (temp, float, 2*Npix);
+  if (ZeroImaginary) {
+    t1 = Ire[0].elements;
+    for (i = 0; i < Npix; i++, t1++) {
+      temp[2*i  ] = *t1;
+      temp[2*i+1] = 0;
+    }
+  } else {
+    t1 = Ire[0].elements;
+    t2 = Iim[0].elements;
+    for (i = 0; i < Npix; i++, t1++, t2++) {
+      temp[2*i  ] = *t1;
+      temp[2*i+1] = *t2;
+    }
+  }    
+    
+  fftold (temp, Npix, 1); 
+
+  Ore[0].Nelements = Npix;
+  Oim[0].Nelements = Npix;
+  REALLOCATE (Ore[0].elements, float, Npix);
+  REALLOCATE (Oim[0].elements, float, Npix);
+ 
+  t1 = Ore[0].elements;
+  t2 = Oim[0].elements;
+  for (i = 0; i < Npix; i++, t1++, t2++) {
+    *t1 = temp[2*i  ] / Npix;
+    *t2 = temp[2*i+1] / Npix;
+  }    
+  
+  free (temp);
+  
+  return (TRUE);
+}
+
+  
Index: trunk/Ohana/src/opihi/cmd.data/fft2d.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/fft2d.c	(revision 16094)
+++ trunk/Ohana/src/opihi/cmd.data/fft2d.c	(revision 16099)
@@ -42,5 +42,5 @@
   Ny = Ire[0].header.Naxis[1];
   Naxis[0] = Ny; Naxis[1] = Nx;
-  if (!IsBinary (Npix)) {
+  if (!IsBinaryOld (Npix)) {
     gprint (GP_ERR, "dimensions are not binary!\n");
     return (FALSE);
Index: trunk/Ohana/src/opihi/cmd.data/init.c
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/init.c	(revision 16094)
+++ trunk/Ohana/src/opihi/cmd.data/init.c	(revision 16099)
@@ -26,4 +26,5 @@
 int erase            PROTO((int, char **));
 int extract          PROTO((int, char **));
+int fft1dold         PROTO((int, char **));
 int fft1d            PROTO((int, char **));
 int fft2d            PROTO((int, char **));
@@ -145,4 +146,5 @@
   {"erase",        erase,	     "erase objects on an overlay"},
   {"extract",      extract,	     "extract a portion of a buffer into another buffer"},
+  {"fft1dold",     fft1dold,	     "fft on the pixel-stream in an image"},
   {"fft1d",        fft1d,	     "fft on the pixel-stream in an image"},
   {"fft2d",        fft2d,	     "fft on an image"},
Index: trunk/Ohana/src/opihi/cmd.data/test/fft1d.sh
===================================================================
--- trunk/Ohana/src/opihi/cmd.data/test/fft1d.sh	(revision 16099)
+++ trunk/Ohana/src/opihi/cmd.data/test/fft1d.sh	(revision 16099)
@@ -0,0 +1,25 @@
+
+list tests
+ test1
+ test2
+ test3
+end
+
+macro test1
+ $PASS = 1
+ break -auto off
+
+ create t 0 4096 1.0
+ set f = dsin(20*t)
+
+ fft1d f 0 to Frn Fin
+
+ fft1dold f 0 to Fro Fio
+
+ clear
+ section a 0.0 0.0 1.0 0.5
+ lim t Fro; box; plot -pt 7 -c blue t Fro; plot -pt 2 -c red t Frn
+
+ section b 0.0 0.5 1.0 0.5
+ lim t Fio; box; plot -pt 7 -c blue t Fio; plot -pt 2 -c red t Fin
+end
