Uhh, of course. I forgot that (5>>1)<<1 != 5 ...

Thanks for the clarification!

Best,

Alex.

On Thursday, 19 June 2014 12:16:29 UTC+2, Tim Holy wrote:
>
> On Thursday, June 19, 2014 02:59:45 AM Alex wrote: 
> > Looking at the code of brfft (in fftw.jl) I find 
> > 
> > function brfft(X::StridedArray{$Tc}, d::Integer, region::Integer) 
> >     osize = [size(X)...] 
> >     @assert osize[region] == d>>1 + 1 
> >     osize[region] = d 
> >     # snip ... 
> > 
> > which seems to imply that d can always be calculated from 
> size(X,region)? 
>
> You're checking that the value of d is consistent, you're not calculating 
> it. 
> Say osize[region] == 3. d could be either 4 or 5. 
>
> --Tim 
>
> > 
> > - Alex. 
> > 
> > On Thursday, 19 June 2014 11:32:59 UTC+2, Tim Holy wrote: 
> > > On Thursday, June 19, 2014 12:27:40 AM Alex wrote: 
> > > > Actually, it is not really clear to me why `d` AKA `len` is needed 
> at 
> > > 
> > > all, 
> > > 
> > > > since d = (size(A,dim[1])-1)<<1 appears to be well defined. I am 
> > > 
> > > probably 
> > > 
> > > > missing something here. Maybe Steven or someone else can clarify 
> this? 
> > > 
> > > Doc bug. The A referred to in this statement is the _original 
> real-valued_ 
> > > A. 
> > > And the formula is wrong. A better way to write the help would be 
> > > 
> > > Base.irfft(Afft, d[, dims]) 
> > > 
> > >    Inverse of "rfft()": for a complex array "Afft", gives the 
> > >    corresponding real array "A" whose FFT yields "Afft" in the first 
> half. 
> > >    As for "rfft()", "dims" is an optional subset of dimensions to 
> > >    transform, defaulting to "1:ndims(Afft)". 
> > >     
> > >    "d" is the length of the transformed real array along the 
> > >    "dims[1]" dimension, which must satisfy "size(Afft,dims[1]) == 
> > >    floor(d/2)+1". (This parameter cannot be inferred 
> > >    from "size(Afft)" due to the possibility of rounding by the 
> > >    "floor" function here.) 
>
>

Reply via email to