Thank you so much Eric for your fantastic answer. Also I didn’t expect such a quick reply, thank you!
It really help to have a better understand of this fantastic library. Some time we can think that some function would be better to use but it end up to be slower, like the vDSP_fft_zip and vDSP_fft_zrip question.
Indeed the legacy thing makes sense now for the choice of the split complex.
I will architect my program more in a more efficient way to avoid the calls to vDSP_ctoz and vDSP_ztoc.
Regarding the help about vDSP_fftm_zrip, it help me a lot. In fact I did this during my first attempt but it didn’t work. I understand why: the Apple documentation of this function seems confusing. Here is what it says about the fourth parameter:
"The number of elements between the first element of one input signal and the first element of the next (which is also the length of each input signal, measured in elements)."
For me "input signal" means the array of real data so the length of N. But I guess they it means the length of the input data regarding a DSPSplitComplex hence N/2. I looked at the DSPSplitComplex as the output data.
"fftStride: The number of elements between the first element of one input signal and the first element of the next (which is also to length of each input signal, measured in elements)." here I understand a length of N.
"rfftStride: The number of elements between the first element of one result vector and the next in the output vector result." here I understand a length of N/2.
So is it an issue (so it’s time to use the link you quoted for the bug issues) or is it me who misunderstands?