For out-of-place FFTs, it should be possible to perform some of the intermediate FFTs in-place, which may lead to memory savings and maybe a small speed-up.
For instance, a 3D r2c FFT is composed of three FFTs: RFFT(x) -> FFT(y) -> FFT(z). Here, the c2c FFTs could be done in-place.
For out-of-place FFTs, it should be possible to perform some of the intermediate FFTs in-place, which may lead to memory savings and maybe a small speed-up.
For instance, a 3D r2c FFT is composed of three FFTs:
RFFT(x) -> FFT(y) -> FFT(z)
. Here, the c2c FFTs could be done in-place.