[Numpy-discussion] Enhancements for NumPy's FFTs
Charles R Harris
charlesr.harris at gmail.com
Sun Mar 15 01:00:17 EDT 2009
On Sat, Mar 14, 2009 at 10:44 PM, Sturla Molden <sturla at molden.no> wrote:
> >
> > I think MSVC uses _inline
>
> No, MSVC uses a double underscore. That is, __restrict for variable names
> and __declspec(restrict) for function return values.
>
Yes, but MSVC uses _inline for inline.
>
> >> #if (__STDC_VERSION__ >= 199901L)
> >> #undef RESTRICT
> >> #undef INLINE
> >> #define RESTRICT restrict
> >> #define INLINE inline
> >> #endif
> >> #endif
> >>
> >
> > What does this last bit do? We implicitly assume that ieee floating point
> > is
> > available.
>
> It uses the restrict keyword in C99. The last test will pass on any C99
> compiler.
>
>
> >> #ifdef DOUBLE
> >> typedef double Treal
> >> #else
> >> typedef float Treal
> >> #endif
> >> typedef Treal *RESTRICT Vreal /* V as in "vector" */
> >>
> >>
> > I'm not sure about the names. I would prefer to keep the declarations
> > along
> > the lines of
> >
> > double * NPY_RESTRICT ptmp;
>
So use a local define.
>
> Yes, but then I would have to go in and edit all function bodies in
> fftpack.c as well. fftpack.c currently uses "Treal array[]" as naming
> convention, so I just changed that to "Vreal array".
>
> I changed all ints to long for 64 bit support.
>
Long is 32 bits on 64 bit windows. You need long long there. That's why
npy_intp is preferred.
Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20090314/10550ca2/attachment.html>
More information about the NumPy-Discussion
mailing list