octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Working patch for FFTW 3.0.x and Nd FFT's


From: David Bateman
Subject: Re: Working patch for FFTW 3.0.x and Nd FFT's
Date: Tue, 17 Feb 2004 09:53:09 +0100
User-agent: Mutt/1.4.1i

According to John W. Eaton <address@hidden> (on 02/16/04):
> On 16-Feb-2004, David Bateman <address@hidden> wrote:
> 
> | Given all of the testing I've given the code, I now consider this
> | patch ready for inclusion into 2.1.54....
> 
> OK, I would like to apply the patch, but after a quick look at the
> code, I have a couple of comments and questions.
> 
> In several places, you are using const_cast to cast away const.  Why
> is this necessary?  Does the FFTW code really modify its argument, or
> is it simply missing const qualifiers.  If the former, then I think we
> need to find a way to avoid requiring the cast, otherwise this could
> do the wrong thing when mixed with Octave's reference counting.  If it
> is the latter, then I think we should ask the FFTW maintainers to add
> the const qualifiers.

When FFTW3 creates plans with anything but the FFTW_ESTIMATE flag, then it
using the *in and *out arrays as testing space for the plans, effectively
destorying the data in them. However with FFTW_ESTIMATE doesn't touch them
except to check data alignment. 

So const_cast is necessary to force FFTW to accept the argument. This will
only cause a problem we change from FFTW_ESTIMATE. I see no reason for this
as I've also supplied a function fft_wisdom to create wisdom seperately from
the fft itself.

> Thanks for being careful to include OCTAVE_QUIT in most loops so that
> Octave can be interrupted when these calculations are happening.  I
> did notice that the function convert_packcomplex_1d and
> convert_packcomplex_Nd contain loops and do not use OCTAVE_QUIT.  Is
> that intentional?  Is that code so simple that it can never run for a
> long time, even if a user accidentally passes in a very large array?

That is more of an oversight. Feel free to add the OCTAVE_QUITs there

Cheers
David

-- 
David Bateman                                address@hidden
Motorola CRM                                 +33 1 69 35 48 04 (Ph) 
Parc Les Algorithmes, Commune de St Aubin    +33 1 69 35 77 01 (Fax) 
91193 Gif-Sur-Yvette FRANCE

The information contained in this communication has been classified as: 

[x] General Business Information 
[ ] Motorola Internal Use Only 
[ ] Motorola Confidential Proprietary



reply via email to

[Prev in Thread] Current Thread [Next in Thread]