From 6bdf585b4947313db6b311e7d2f8e66779f57fb9 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Thu, 26 Jun 2025 19:08:16 +0900 Subject: [PATCH] realFFT is somehow faster while everything else stays the same? --- src/net/torvald/terrarum/audio/FFT.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/net/torvald/terrarum/audio/FFT.kt b/src/net/torvald/terrarum/audio/FFT.kt index 5164b2259..993e65436 100644 --- a/src/net/torvald/terrarum/audio/FFT.kt +++ b/src/net/torvald/terrarum/audio/FFT.kt @@ -92,26 +92,26 @@ object FFT: Disposable { fun fft(signal0: FloatArray): ComplexArray { val signal = FloatArray(signal0.size * 2) { if (it % 2 == 0) signal0[it / 2] else 0f } - ffts[signal0.size]!!.complexForward(signal) + ffts[signal0.size]!!.realForward(signal) return ComplexArray(signal) } fun fft(signal0: ComplexArray) { - ffts[signal0.size]!!.complexForward(signal0.reim) + ffts[signal0.size]!!.realForward(signal0.reim) } fun fftInto(signal0: ComplexArray, out: ComplexArray) { System.arraycopy(signal0.reim, 0, out.reim, 0, signal0.reim.size) - ffts[signal0.size]!!.complexForward(out.reim) + ffts[signal0.size]!!.realForward(out.reim) } fun ifftAndGetReal(signal0: ComplexArray): FloatArray { - ffts[signal0.size]!!.complexInverse(signal0.reim, true) + ffts[signal0.size]!!.realInverse(signal0.reim, true) return signal0.getReal() } fun ifftAndGetReal(signal0: ComplexArray, output: FloatArray) { - ffts[signal0.size]!!.complexInverse(signal0.reim, true) + ffts[signal0.size]!!.realInverse(signal0.reim, true) for (i in 0 until signal0.size) { output[i] = signal0.reim[i * 2] }