Buffer: in-place transformation
termoshtt opened this issue · 2 comments
Plan-based implementation in FFTW is unconformable with the borrow checker in Rust since fftw_execute(plan)
modify in/out arrays.
The transformation in FFTW has two types: in-place and out-place. Current implementation using Pair
corresponding to out-place conversion.
I will implement in-place by Buffer
struct.
High-level interface (Pair, Buffer) and lower level interface (Plan, RawVec) should be treated separately. This lower-level interface is almost-safe, i.e. Plan::execute
is not safe due to design of FFTW. To create safe wrapper of this have to include design issue, which has various resolution. This crate should keep this variety, and thus expose almost-safe interface with documents #19 .
Pair/Buffer interface will be removed in new-array execution interface