aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Blechmann <timblech@users.sourceforge.net>2006-05-21 19:17:04 +0000
committerIOhannes m zmölnig <zmoelnig@iem.at>2015-10-14 15:12:02 +0200
commit2c157bd8aa1f5387169cc0c0910d36c8068c4068 (patch)
treeb1df4715f4299671f17b14f30ca55b79170a3d95
parent13cba7a7997e318fbba01a36912219355e387d52 (diff)
improved inlining for maps
svn path=/trunk/externals/tb/; revision=5106
-rw-r--r--chaos/src/bernoulli_map.hpp2
-rw-r--r--chaos/src/bungalow_tent_map.hpp2
-rw-r--r--chaos/src/chaos_base.hpp14
-rw-r--r--chaos/src/chaos_dsp.hpp36
-rw-r--r--chaos/src/chaos_msg.hpp6
-rw-r--r--chaos/src/chaos_search.hpp9
-rw-r--r--chaos/src/circle_map.hpp2
-rw-r--r--chaos/src/delayed_logistic.hpp2
-rw-r--r--chaos/src/duffing_map.hpp2
-rw-r--r--chaos/src/gauss_map.hpp2
-rw-r--r--chaos/src/gaussian_map.hpp2
-rw-r--r--chaos/src/henon_map.hpp2
-rw-r--r--chaos/src/ikeda_laser_map.hpp2
-rw-r--r--chaos/src/latoocarfian.hpp2
-rw-r--r--chaos/src/latoomutalpha.hpp2
-rw-r--r--chaos/src/latoomutbeta.hpp2
-rw-r--r--chaos/src/latoomutgamma.hpp2
-rw-r--r--chaos/src/linear_congruental.hpp2
-rw-r--r--chaos/src/logistic_map.hpp2
-rw-r--r--chaos/src/lozi_map.hpp2
-rw-r--r--chaos/src/map_base.hpp2
-rw-r--r--chaos/src/ode_base.hpp2
-rw-r--r--chaos/src/sine_map.hpp2
-rw-r--r--chaos/src/standard_map.hpp2
-rw-r--r--chaos/src/tent_map.hpp2
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<const t_symbol*,int> 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<system>::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<system>::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<system>::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<system>::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<system>::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<system>::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<system>::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<system>::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<system>::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<dimensions>
{
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];