pub fn fftshift_inplace(data: &mut [f64], nx: usize, ny: usize, nz: usize)
3D FFT shift in-place: swap quadrants so zero-frequency is at center
Modifies the input array in place. Only works correctly for even-sized dimensions.