JuliaMath / AbstractFFTs.jl

A Julia framework for implementing FFTs
MIT License
125 stars 32 forks source link

Convert `1:ndims(X)` to `ntuple(identity, ndims(X))` #97

Open jishnub opened 1 year ago

jishnub commented 1 year ago

An example: https://github.com/JuliaMath/AbstractFFTs.jl/blob/a25656dfabf0f6c5067bc3f90a591c242da4b9be/src/definitions.jl#L62

Using a Tuple here will allow ndims to be constant-propagated without relying on the compiler. It also reduces allocations in various functions, as vectors don't need to be allocated. Such a change would be mildly breaking, but seems worthwhile. FFTW has largely been updated to accept Tuples as regions, and some other dependencies might need to be looked at.