Written using this tutorial.
Structs:
ffts_sys::ffts_plan_t
re: f32, im: f32
, 32-bit aligned as per ffts requirementsResult<T, FFTSError>
ffts_init_*
returns a nullptr```rust use ffts::*;
let mut random_cmplex: Vec
let mut pf = FFTSPlan::new1d(4, FFTSDirection::Forward).unwrap();
let mut forwardvec = pf.execute(&mut random_cmplex);
let mut pb = FFTSPlan::new1d(random_cmplex.len(), FFTSDirection::Backward).unwrap();
let backwardvec = pb.execute(&mut forward_vec); ```
Compared to C:
```c
const float _Complex nums[4] = {-15.0 + 0.0I, 32.0 + 0.0I, -1337.0 + 0.0I, 62.75 + 0.0I}; float _Complex out1[4] = {0.0 + 0.0I, 0.0 + 0.0I, 0.0 + 0.0I, 0.0 + 0.0I}; float _Complex out2[4] = {0.0 + 0.0I, 0.0 + 0.0I, 0.0 + 0.0I, 0.0 + 0.0I};
fftsplant *p = fftsinit1d(4, FFTSFORWARD); fftsexecute(p, nums, out1);
fftsplant *p2 = fftsinit1d(4, FFTSBACKWARD); fftsexecute(p2, out1, out2);
fftsfree(p); fftsfree(p2); return 0; ```