From 2c157bd8aa1f5387169cc0c0910d36c8068c4068 Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Sun, 21 May 2006 19:17:04 +0000 Subject: improved inlining for maps svn path=/trunk/externals/tb/; revision=5106 --- chaos/src/chaos_dsp.hpp | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) (limited to 'chaos/src/chaos_dsp.hpp') diff --git a/chaos/src/chaos_dsp.hpp b/chaos/src/chaos_dsp.hpp index 9f6dd75..6ca9ce4 100644 --- a/chaos/src/chaos_dsp.hpp +++ b/chaos/src/chaos_dsp.hpp @@ -257,7 +257,10 @@ void chaos_dsp::m_signal_(int n, t_sample *const *insigs, for (int i = 0; i!=n; ++i) { - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); + for (int j = 0; j != outlets; ++j) { outsigs[j][i] = m_system.get_data(j); @@ -279,7 +282,10 @@ void chaos_dsp::m_signal_n_hf(int n, t_sample *const *insigs, { while (phase <= 0) { - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); + phase += m_sr * m_invfreq; } int next = (phase < n) ? int(ceilf (phase)) : n; @@ -309,7 +315,10 @@ void chaos_dsp::m_signal_n(int n, t_sample *const *insigs, { if (phase == 0) { - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); + phase = int (m_sr * m_invfreq); } @@ -341,7 +350,10 @@ void chaos_dsp::m_signal_l(int n, t_sample *const *insigs, { if (phase == 0) { - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); + phase = int (m_sr * m_invfreq); for (int j = 0; j != outlets; ++j) @@ -381,7 +393,10 @@ void chaos_dsp::m_signal_l_hf(int n, t_sample *const *insigs, { if (phase <= 0) { - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); + phase = m_sr * m_invfreq; for (int j = 0; j != outlets; ++j) @@ -420,7 +435,10 @@ void chaos_dsp::m_signal_c(int n, t_sample *const *insigs, { if (phase == 0) { - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); + phase = int (m_sr * m_invfreq); phase = (phase > 2) ? phase : 2; @@ -472,7 +490,11 @@ void chaos_dsp::m_signal_c_hf(int n, t_sample *const *insigs, { if (phase == 0) { - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); + + phase = int (m_sr * m_invfreq); phase = (phase > 2) ? phase : 2; -- cgit v1.2.1