JuliaLinearAlgebra / AppleAccelerate.jl

Julia interface to the macOS Accelerate framework
Other
96 stars 18 forks source link

Transitioning to a multi-file package #13

Closed rprechelt closed 8 years ago

rprechelt commented 8 years ago

Do you have any thoughts on transitioning to a multi-file module instead of keeping everything in AppleAccelerate.jl?

With the addition of conv/xcorr, and with the upcoming completion of the FFT and biquad/FIR functions that I have been working on, the file is getting excessively large. It might be worth breaking it up now, as opposed to much later.

My initial impression would be to do something like:

  1. Trigonometry.jl
  2. Math.jl - log/exp other future additions. (Would this be better as Array.jl?)
  3. FFT.jl - with the huge number of FFT variants that Accelerate provides (1D and 2D), these probably deserve their own file.
  4. Filtering.jl - conv/xcorr, biquad/FIR (There may be a better name for this file....)
  5. Util.jl - replaceBase, round, trunc

Any thoughts on the above decision, and/or the distribution of functions among the files? FFT and Filtering could also be combined into a DSP.jl... that might be the cleanest way to go right now.

simonbyrne commented 8 years ago

Seems reasonable. Could probably keep all the vecLib ones (sin, exp, round, etc) in the same file, as the interfaces are mostly the same, but moving the DSP ones to a separate file seems like a good idea for now.

rprechelt commented 8 years ago

So, does

  1. Array.jl - all current array functions
  2. DSP.jl - conv, xcorr, biquad, FIR
  3. Util.jl - replaceBase

seems like a reasonable distribution of files?

simonbyrne commented 8 years ago

Sounds good to me.