fix two small FFT bugs

Nathan (Jasper) Myers ncm at codesourcery.com
Wed Sep 28 00:37:39 UTC 2005


The patch below has been applied.

It fixes the only FFT bug revealed thus far by comprehensive testing, 
and a bug Jules discovered by inspection (respectively). 

Nathan Myers
ncm

Index: ChangeLog
===================================================================
RCS file: /home/cvs/Repository/vpp/ChangeLog,v
retrieving revision 1.276
diff -u -p -r1.276 ChangeLog
--- ChangeLog	27 Sep 2005 22:44:40 -0000	1.276
+++ ChangeLog	28 Sep 2005 00:33:36 -0000
@@ -1,3 +1,9 @@
+2005-09-27  Nathan Myers  <ncm at codesourcery.com>
+
+	* src/vsip/impl/signal-fft.hpp: fix compilation/instantiation typo
+	  in 2D by-value FFT.
+	* src/vsip/impl/fft-core.hpp: fix IPP FFT scaling-request flag.
+
 2005-09-27  Stefan Seefeld  <stefan at codesourcery.com>
 
 	* src/vsip/dense.hpp: Remove redundant header inclusion.
Index: src/vsip/impl/signal-fft.hpp
===================================================================
RCS file: /home/cvs/Repository/vpp/src/vsip/impl/signal-fft.hpp,v
retrieving revision 1.26
diff -u -p -r1.26 signal-fft.hpp
--- src/vsip/impl/signal-fft.hpp	26 Sep 2005 20:11:05 -0000	1.26
+++ src/vsip/impl/signal-fft.hpp	28 Sep 2005 00:33:36 -0000
@@ -241,7 +241,7 @@ empty_view_like(vsip::Domain<1> const& d
 template <typename View>
 View 
 empty_view_like(vsip::Domain<2> const& dom)
-  { return View(dom[0].size(), dom[1].size(1)); }
+  { return View(dom[0].size(), dom[1].size()); }
 
 template <typename View>
 View  
Index: src/vsip/impl/fft-core.hpp
===================================================================
RCS file: /home/cvs/Repository/vpp/src/vsip/impl/fft-core.hpp,v
retrieving revision 1.16
diff -u -p -r1.16 fft-core.hpp
--- src/vsip/impl/fft-core.hpp	20 Sep 2005 01:29:43 -0000	1.16
+++ src/vsip/impl/fft-core.hpp	28 Sep 2005 00:33:36 -0000
@@ -1250,7 +1250,7 @@ create_ipp_plan(
 
   self.doing_scaling_ = (self.scale_ == 1.0/dom.size());
   const int flags = self.doing_scaling_ ? (self.is_forward_ ? 
-      IPP_FFT_DIV_FWD_BY_N : IPP_FFT_DIV_FWD_BY_N) : IPP_FFT_NODIV_BY_ANY;
+      IPP_FFT_DIV_FWD_BY_N : IPP_FFT_DIV_INV_BY_N) : IPP_FFT_NODIV_BY_ANY;
 
   typedef typename Time_domain<inT,outT>::type time_domain_type;
   typedef Ipp_DFT< (Dim-doFFTM),time_domain_type>  fft_type;



More information about the vsipl++ mailing list