zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit 8ffa3b3cf6804fda7eeb6af9c8c7330df218e0bd
parent 0149f8ddfb9293223cd9209470c06c1d4cbea12f
Author: Johannes Lorenz <j.git@lorenz-ho.me>
Date:   Sun, 19 Dec 2021 05:00:38 +0100

Fixup: fftwf_real, elliminate more doubles

Diffstat:
Msrc/DSP/FFTwrapper.cpp | 2+-
Msrc/DSP/FFTwrapper.h | 2+-
Msrc/Effects/EQ.cpp | 4++--
Msrc/Misc/Time.h | 2+-
Msrc/Synth/OscilGen.cpp | 6+++---
Msrc/globals.h | 4++--
6 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/DSP/FFTwrapper.cpp b/src/DSP/FFTwrapper.cpp @@ -31,7 +31,7 @@ FFTwrapper::FFTwrapper(int fftsize_) fftsize = fftsize_; - time = new fftw_real[fftsize]; + time = new fftwf_real[fftsize]; fft = new fftwf_complex[fftsize + 1]; pthread_mutex_lock(mutex); planfftw = fftwf_plan_dft_r2c_1d(fftsize, diff --git a/src/DSP/FFTwrapper.h b/src/DSP/FFTwrapper.h @@ -35,7 +35,7 @@ class FFTwrapper void freqs2smps(const fft_t *freqs, float *smps); private: int fftsize; - fftw_real *time; + fftwf_real *time; fftwf_complex *fft; fftwf_plan planfftw, planfftw_inv; }; diff --git a/src/Effects/EQ.cpp b/src/Effects/EQ.cpp @@ -292,8 +292,8 @@ void EQ::getFilter(float *a, float *b) const auto &F = filter[i]; if(F.Ptype == 0) continue; - const double Fb[3] = {F.l->coeff.c[0], F.l->coeff.c[1], F.l->coeff.c[2]}; - const double Fa[3] = {1.0f, -F.l->coeff.d[1], -F.l->coeff.d[2]}; + const float Fb[3] = {F.l->coeff.c[0], F.l->coeff.c[1], F.l->coeff.c[2]}; + const float Fa[3] = {1.0f, -F.l->coeff.d[1], -F.l->coeff.d[2]}; for(int j=0; j<F.Pstages+1; ++j) { for(int k=0; k<3; ++k) { diff --git a/src/Misc/Time.h b/src/Misc/Time.h @@ -42,7 +42,7 @@ class RelTime :t(t_) { //Calculate time of event - double deltaFrames = sec*t.framesPerSec(); + float deltaFrames = sec*t.framesPerSec(); int64_t tmp = (int64_t)deltaFrames; frame = t.time() + tmp; sample = (int32_t)(t.samplesPerFrame()*(deltaFrames-tmp)); diff --git a/src/Synth/OscilGen.cpp b/src/Synth/OscilGen.cpp @@ -774,7 +774,7 @@ void OscilGen::spectrumadjust(fft_t *freqs) mag = 1.0f; break; } - freqs[i] = FFTpolar<fftw_real>(mag, phase); + freqs[i] = FFTpolar<fftwf_real>(mag, phase); } } @@ -875,7 +875,7 @@ void OscilGen::prepare(fft_t *freqs) int k = i * (j + 1); if(k >= synth.oscilsize / 2) break; - freqs[k] += basefuncFFTfreqs[i] * FFTpolar<fftw_real>( + freqs[k] += basefuncFFTfreqs[i] * FFTpolar<fftwf_real>( hmag[j], hphase[j] * k); } @@ -1092,7 +1092,7 @@ short int OscilGen::get(float *smps, float freqHz, int resonance) const float rnd = PI * powf((Prand - 64.0f) / 64.0f, 2.0f); for(int i = 1; i < nyquist - 1; ++i) //to Nyquist only for AntiAliasing outoscilFFTfreqs[i] *= - FFTpolar<fftw_real>(1.0f, (float)(rnd * i * RND)); + FFTpolar<fftwf_real>(1.0f, (float)(rnd * i * RND)); } //Harmonic Amplitude Randomness diff --git a/src/globals.h b/src/globals.h @@ -73,8 +73,8 @@ class SVFilter; class FormantFilter; class ModFilter; -typedef float fftw_real; -typedef std::complex<fftw_real> fft_t; +typedef float fftwf_real; +typedef std::complex<fftwf_real> fft_t; /** * The number of harmonics of additive synth