Changeset 20936 for trunk/Ohana/src/opihi/cmd.data/fft1d.c
- Timestamp:
- Dec 7, 2008, 3:31:01 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/cmd.data/fft1d.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.data/fft1d.c
r16107 r20936 25 25 if ((Ire = SelectVector (argv[1], OLDVECTOR, TRUE)) == NULL) return (FALSE); 26 26 27 REQUIRE_VECTOR_FLT (Ire, FALSE); 28 if (Iim) { REQUIRE_VECTOR_FLT (Iim, FALSE); } 29 27 30 // check the input data (match lengths? binary length?) 28 31 Npix = Ire[0].Nelements; … … 40 43 if ((Oim = SelectVector (argv[5], ANYVECTOR, TRUE)) == NULL) return (FALSE); 41 44 42 // allocate sufficient output space 43 Ore[0].Nelements = Npix; 44 Oim[0].Nelements = Npix; 45 REALLOCATE (Ore[0].elements, float, Npix); 46 REALLOCATE (Oim[0].elements, float, Npix); 45 // allocate sufficient output space, force output to be FLT 46 ResetVector (Ore, OPIHI_FLT, Npix); 47 ResetVector (Oim, OPIHI_FLT, Npix); 47 48 48 49 // copy data to output vectors (fft is done in place) 49 memcpy (Ore[0].elements , Ire[0].elements, Npix*sizeof(float));50 memcpy (Ore[0].elements.Flt, Ire[0].elements.Flt, Npix*sizeof(opihi_flt)); 50 51 51 52 // copy imaginary vector or create a zero vector 52 53 if (ZeroImaginary) { 53 memset (Oim[0].elements , 0, Npix*sizeof(float));54 memset (Oim[0].elements.Flt, 0, Npix*sizeof(opihi_flt)); 54 55 } else { 55 memcpy (Oim[0].elements , Iim[0].elements, Npix*sizeof(float));56 memcpy (Oim[0].elements.Flt, Iim[0].elements.Flt, Npix*sizeof(opihi_flt)); 56 57 } 57 58 58 fft1D (Ore[0].elements, Oim[0].elements, Npix, Nbit, forward);59 dfft1D (Ore[0].elements.Flt, Oim[0].elements.Flt, Npix, Nbit, forward); 59 60 60 61 return (TRUE);
Note:
See TracChangeset
for help on using the changeset viewer.
