From a0db3777d2f2a8c9db9e95c6530f68a2760efbe1 Mon Sep 17 00:00:00 2001 From: kradchen Date: Thu, 8 Jun 2023 15:24:49 +0800 Subject: [PATCH] Add ifftshift --- src/Function2D.cpp | 25 +++++++++++++++++++++---- src/Function2D.h | 6 ++++++ test/Function2D_Test.cpp | 11 +++++++++++ 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/Function2D.cpp b/src/Function2D.cpp index a34d1d4..06ca233 100644 --- a/src/Function2D.cpp +++ b/src/Function2D.cpp @@ -837,13 +837,30 @@ Matrix Aurora::ifft_symmetric(const Matrix &aMatrix,long length) void Aurora::fftshift(Matrix &aMatrix){ int backwardLength = aMatrix.getDimSize(0)/2; + if (aMatrix.getDimSize(0)%2!=0)++backwardLength; int forwardLength = aMatrix.getDimSize(0) - backwardLength; double* buffer = malloc(forwardLength,true); + int valueStep = aMatrix.isComplex()?2:1; for (int i = 0; i