An example:
|
$f(x::AbstractArray) = $f(x, 1:ndims(x)) |
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.
An example:
AbstractFFTs.jl/src/definitions.jl
Line 62 in a25656d
Using a
Tuplehere will allowndimsto 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.