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/bernoulli_map.hpp | 2 +- chaos/src/bungalow_tent_map.hpp | 2 +- chaos/src/chaos_base.hpp | 14 +++++++------- chaos/src/chaos_dsp.hpp | 36 +++++++++++++++++++++++++++++------- chaos/src/chaos_msg.hpp | 6 +++++- chaos/src/chaos_search.hpp | 9 ++++++--- chaos/src/circle_map.hpp | 2 +- chaos/src/delayed_logistic.hpp | 2 +- chaos/src/duffing_map.hpp | 2 +- chaos/src/gauss_map.hpp | 2 +- chaos/src/gaussian_map.hpp | 2 +- chaos/src/henon_map.hpp | 2 +- chaos/src/ikeda_laser_map.hpp | 2 +- chaos/src/latoocarfian.hpp | 2 +- chaos/src/latoomutalpha.hpp | 2 +- chaos/src/latoomutbeta.hpp | 2 +- chaos/src/latoomutgamma.hpp | 2 +- chaos/src/linear_congruental.hpp | 2 +- chaos/src/logistic_map.hpp | 2 +- chaos/src/lozi_map.hpp | 2 +- chaos/src/map_base.hpp | 2 +- chaos/src/ode_base.hpp | 2 +- chaos/src/sine_map.hpp | 2 +- chaos/src/standard_map.hpp | 2 +- chaos/src/tent_map.hpp | 2 +- 25 files changed, 68 insertions(+), 39 deletions(-) diff --git a/chaos/src/bernoulli_map.hpp b/chaos/src/bernoulli_map.hpp index c720e1b..781011b 100644 --- a/chaos/src/bernoulli_map.hpp +++ b/chaos/src/bernoulli_map.hpp @@ -34,7 +34,7 @@ public: CHAOS_SYS_INIT(x,0.5,0); } - virtual void m_step() + void m_step() { data_t x = m_data[0]; diff --git a/chaos/src/bungalow_tent_map.hpp b/chaos/src/bungalow_tent_map.hpp index fd098f3..492b6d5 100644 --- a/chaos/src/bungalow_tent_map.hpp +++ b/chaos/src/bungalow_tent_map.hpp @@ -42,7 +42,7 @@ public: CHAOS_PAR_INIT(r, 0.5); } - virtual void m_step() + void m_step() { data_t x = m_data[0]; data_t r = CHAOS_PARAMETER(r); diff --git a/chaos/src/chaos_base.hpp b/chaos/src/chaos_base.hpp index 4b984d9..d18a507 100644 --- a/chaos/src/chaos_base.hpp +++ b/chaos/src/chaos_base.hpp @@ -42,12 +42,12 @@ public: return dimensions; } - inline void m_perform() - { - m_step(); - m_bash_denormals(); - m_verify(); - } +// inline void m_perform() +// { +// m_step(); +// m_bash_denormals(); +// m_verify(); +// } std::map attr_ind; @@ -70,7 +70,7 @@ public: data_t m_data[dimensions]; // state of the system protected: - virtual void m_step() = 0; // iteration +// void m_step() = 0; // iteration flext::AtomList Parameter; // parameter flext::AtomList System; // system }; 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; diff --git a/chaos/src/chaos_msg.hpp b/chaos/src/chaos_msg.hpp index 9025273..915d6a1 100644 --- a/chaos/src/chaos_msg.hpp +++ b/chaos/src/chaos_msg.hpp @@ -42,7 +42,11 @@ public: void m_bang() { - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); + + int outlets = m_system.get_num_eq(); while (outlets--) diff --git a/chaos/src/chaos_search.hpp b/chaos/src/chaos_search.hpp index 1b812a0..fded6bc 100644 --- a/chaos/src/chaos_search.hpp +++ b/chaos/src/chaos_search.hpp @@ -137,7 +137,9 @@ void chaos_search::m_search() /* transient dynamics */ for (int i = 0; i != m_transient_steps; ++i) { - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); } for (int i = 0; i != dimensions; ++i) @@ -149,8 +151,9 @@ void chaos_search::m_search() for (int i = 0; i != m_asymptotic_steps; ++i) { - - m_system.m_perform(); + m_system.m_step(); + m_system.m_bash_denormals(); + m_system.m_verify(); data_t diff = 0; for (int j = 0; j != dimensions; ++j) diff --git a/chaos/src/circle_map.hpp b/chaos/src/circle_map.hpp index 294b7d6..c58391a 100644 --- a/chaos/src/circle_map.hpp +++ b/chaos/src/circle_map.hpp @@ -39,7 +39,7 @@ public: } - virtual void m_step() + void m_step() { data_t x = m_data[0]; data_t omega = CHAOS_PARAMETER(omega); diff --git a/chaos/src/delayed_logistic.hpp b/chaos/src/delayed_logistic.hpp index 3db7e27..d7f7539 100644 --- a/chaos/src/delayed_logistic.hpp +++ b/chaos/src/delayed_logistic.hpp @@ -39,7 +39,7 @@ public: - virtual void m_step() + void m_step() { data_t x = m_data[0]; data_t alpha = CHAOS_PARAMETER(alpha); diff --git a/chaos/src/duffing_map.hpp b/chaos/src/duffing_map.hpp index 46fecbf..2670b7d 100644 --- a/chaos/src/duffing_map.hpp +++ b/chaos/src/duffing_map.hpp @@ -39,7 +39,7 @@ public: - virtual void m_step() + void m_step() { data_t x1 = m_data[0], x2 = m_data[1]; diff --git a/chaos/src/gauss_map.hpp b/chaos/src/gauss_map.hpp index d013bae..7e16bea 100644 --- a/chaos/src/gauss_map.hpp +++ b/chaos/src/gauss_map.hpp @@ -37,7 +37,7 @@ public: } - virtual void m_step() + void m_step() { data_t data = m_data[0]; diff --git a/chaos/src/gaussian_map.hpp b/chaos/src/gaussian_map.hpp index c6aaf1e..7793814 100644 --- a/chaos/src/gaussian_map.hpp +++ b/chaos/src/gaussian_map.hpp @@ -39,7 +39,7 @@ public: - virtual void m_step() + void m_step() { data_t data = m_data[0]; diff --git a/chaos/src/henon_map.hpp b/chaos/src/henon_map.hpp index 014fa68..b7ca5bf 100644 --- a/chaos/src/henon_map.hpp +++ b/chaos/src/henon_map.hpp @@ -39,7 +39,7 @@ public: } - virtual void m_step() + void m_step() { data_t x = m_data[0]; data_t y = m_data[1]; diff --git a/chaos/src/ikeda_laser_map.hpp b/chaos/src/ikeda_laser_map.hpp index 60e3a77..534a9de 100644 --- a/chaos/src/ikeda_laser_map.hpp +++ b/chaos/src/ikeda_laser_map.hpp @@ -46,7 +46,7 @@ public: CHAOS_SYS_INIT(y,0.5,1); } - virtual void m_step() + void m_step() { data_t x = m_data[0]; data_t y = m_data[1]; diff --git a/chaos/src/latoocarfian.hpp b/chaos/src/latoocarfian.hpp index 47abc33..1329bd3 100644 --- a/chaos/src/latoocarfian.hpp +++ b/chaos/src/latoocarfian.hpp @@ -42,7 +42,7 @@ public: CHAOS_PAR_INIT(d,0.744728); } - virtual void m_step() + void m_step() { data_t x1 = m_data[0], x2 = m_data[1]; data_t a = CHAOS_PARAMETER(a), b = CHAOS_PARAMETER(b), diff --git a/chaos/src/latoomutalpha.hpp b/chaos/src/latoomutalpha.hpp index 255829a..bfe76e4 100644 --- a/chaos/src/latoomutalpha.hpp +++ b/chaos/src/latoomutalpha.hpp @@ -41,7 +41,7 @@ public: } - virtual void m_step() + void m_step() { data_t x1 = m_data[0], x2 = m_data[1]; data_t a = CHAOS_PARAMETER(a), b = CHAOS_PARAMETER(b), diff --git a/chaos/src/latoomutbeta.hpp b/chaos/src/latoomutbeta.hpp index d663761..c1a42b5 100644 --- a/chaos/src/latoomutbeta.hpp +++ b/chaos/src/latoomutbeta.hpp @@ -39,7 +39,7 @@ public: CHAOS_PAR_INIT(b,2.879879); } - virtual void m_step() + void m_step() { data_t x1 = m_data[0], x2 = m_data[1]; data_t a = CHAOS_PARAMETER(a), b = CHAOS_PARAMETER(b); diff --git a/chaos/src/latoomutgamma.hpp b/chaos/src/latoomutgamma.hpp index 022e651..0120745 100644 --- a/chaos/src/latoomutgamma.hpp +++ b/chaos/src/latoomutgamma.hpp @@ -39,7 +39,7 @@ public: CHAOS_PAR_INIT(b,2.879879); } - virtual void m_step() + void m_step() { data_t x1 = m_data[0], x2 = m_data[1]; data_t a = CHAOS_PARAMETER(a), b = CHAOS_PARAMETER(b); diff --git a/chaos/src/linear_congruental.hpp b/chaos/src/linear_congruental.hpp index f6ce961..25bc837 100644 --- a/chaos/src/linear_congruental.hpp +++ b/chaos/src/linear_congruental.hpp @@ -37,7 +37,7 @@ public: CHAOS_PAR_INIT(C, 259200); } - virtual void m_step() + void m_step() { data_t x = m_data[0]; diff --git a/chaos/src/logistic_map.hpp b/chaos/src/logistic_map.hpp index 7880d21..2d19855 100644 --- a/chaos/src/logistic_map.hpp +++ b/chaos/src/logistic_map.hpp @@ -38,7 +38,7 @@ public: { } - virtual void m_step() + void m_step() { data_t x = m_data[0]; data_t alpha = CHAOS_PARAMETER(alpha); diff --git a/chaos/src/lozi_map.hpp b/chaos/src/lozi_map.hpp index 24096a6..07656d2 100644 --- a/chaos/src/lozi_map.hpp +++ b/chaos/src/lozi_map.hpp @@ -38,7 +38,7 @@ public: CHAOS_PAR_INIT(b,0.3); } - virtual void m_step() + void m_step() { data_t x = m_data[0]; data_t y = m_data[1]; diff --git a/chaos/src/map_base.hpp b/chaos/src/map_base.hpp index 92016b1..afc89fb 100644 --- a/chaos/src/map_base.hpp +++ b/chaos/src/map_base.hpp @@ -28,7 +28,7 @@ class map_base : public chaos_base { protected: - virtual void m_step() + void m_step() { } }; diff --git a/chaos/src/ode_base.hpp b/chaos/src/ode_base.hpp index b198dc5..f46332c 100644 --- a/chaos/src/ode_base.hpp +++ b/chaos/src/ode_base.hpp @@ -62,7 +62,7 @@ public: return (f >= 0); } - virtual void m_step() + void m_step() { (this->*m_routine)(); } diff --git a/chaos/src/sine_map.hpp b/chaos/src/sine_map.hpp index 8a11281..d7043f4 100644 --- a/chaos/src/sine_map.hpp +++ b/chaos/src/sine_map.hpp @@ -40,7 +40,7 @@ public: } - virtual void m_step() + void m_step() { m_data[0] = sin (M_PI * m_data[0]); } diff --git a/chaos/src/standard_map.hpp b/chaos/src/standard_map.hpp index 8798edc..399484b 100644 --- a/chaos/src/standard_map.hpp +++ b/chaos/src/standard_map.hpp @@ -43,7 +43,7 @@ public: } - virtual void m_step() + void m_step() { data_t I = m_data[0]; data_t theta = m_data[1]; diff --git a/chaos/src/tent_map.hpp b/chaos/src/tent_map.hpp index 2e716ac..f8f2c29 100644 --- a/chaos/src/tent_map.hpp +++ b/chaos/src/tent_map.hpp @@ -35,7 +35,7 @@ public: } - virtual void m_step() + void m_step() { data_t data = m_data[0]; -- cgit v1.2.1