I've been exploring the Data.Yarr Array library, as a possible replacement for some code I have in Repa. It seems fully featured, and the benchmarks - if correct suggest a performance improvement may be had.
I'm interested in the correct use of the slices function.
Say I had a 2D ForeignPtr backed matrix of Complex Floats, in row-major format
matrix2D :: UArray F L DIM2 (Complex Float)
How would I go about extracting a vector of slices of columns, and / or rows?
A motivating example? Lets say I wish to permute the columns, multiply each element wise with another set of slices, then perform a 1D FFT on each slice.
This seems a very common thing to want to do (in my world of signal processing). What is the idiomatic way of doing this?
Edited: to reduce scope of question.