[PD-cvs] externals/chaos/src coupled_logistic.hpp,NONE,1.1 coupled_logistic_dsp.cpp,NONE,1.1 coupled_logistic_msg.cpp,NONE,1.1 driven_anharmonic.hpp,NONE,1.1 driven_anharmonic_dsp.cpp,NONE,1.1 driven_anharmonic_msg.cpp,NONE,1.1 driven_van_der_pol.hpp,NONE,1.1 driven_van_der_pol_dsp.cpp,NONE,1.1 driven_van_der_pol_msg.cpp,NONE,1.1 roessler.hpp,NONE,1.1 roessler_dsp.cpp,NONE,1.1 roessler_msg.cpp,NONE,1.1 Makefile.am,1.5,1.6 bernoulli_dsp.cpp,1.1,1.2 bungalow_tent_dsp.cpp,1.1,1.2 bungalow_tent_msg.cpp,1.1,1.2 chaos.hpp,1.3,1.4 chaos_base.hpp,1.3,1.4 chaos_defs.hpp,1.1,1.2 circle_map_dsp.cpp,1.1,1.2 circle_map_msg.cpp,1.1,1.2 gauss_map_dsp.cpp,1.1,1.2 gauss_map_msg.cpp,1.1,1.2 henon_map_dsp.cpp,1.1,1.2 henon_map_msg.cpp,1.1,1.2 ikeda_laser_map_dsp.cpp,1.1,1.2 ikeda_laser_map_msg.cpp,1.1,1.2 logistic_dsp.cpp,1.1,1.2 logistic_msg.cpp,1.1,1.2 lorenz.hpp,1.5,1.6 lorenz_dsp.cpp,1.1,1.2 lorenz_msg.cpp,1.1,1.2 lozi_map_dsp.cpp,1.1,1.2 lozi_map_msg.cpp,1.1,1.2 main.cpp,1.5,1.6 sine_map_dsp.cpp,1.1,1.2 sine_map_msg.cpp,1.1,1.2 standard_map_dsp.cpp,1.1,1.2 standard_map_msg.cpp,1.1,1.2 tent_map_dsp.cpp,1.1,1.2 tent_map_msg.cpp,1.1,1.2
Tim Blechmann
timblech at users.sourceforge.net
Mon Dec 27 23:55:43 CET 2004
- Previous message: [PD-cvs] pd/src s_audio.c,1.5.4.4,1.5.4.5 m_glob.c,1.4.4.1,1.4.4.2
- Next message: [PD-cvs] externals/chaos/src duffing_map.hpp,NONE,1.1 duffing_map_dsp.cpp,NONE,1.1 duffing_map_msg.cpp,NONE,1.1 latoocarfian.hpp,NONE,1.1 latoocarfian_dsp.cpp,NONE,1.1 latoocarfian_msg.cpp,NONE,1.1 latoomutalpha.hpp,NONE,1.1 latoomutalpha_dsp.cpp,NONE,1.1 latoomutalpha_msg.cpp,NONE,1.1 latoomutbeta.hpp,NONE,1.1 latoomutbeta_dsp.cpp,NONE,1.1 latoomutbeta_msg.cpp,NONE,1.1 latoomutgamma.hpp,NONE,1.1 latoomutgamma_dsp.cpp,NONE,1.1 latoomutgamma_msg.cpp,NONE,1.1 Makefile.am,1.6,1.7 chaos.hpp,1.4,1.5 chaos_defs.hpp,1.2,1.3 chaos_dsp.hpp,1.5,1.6 logistic_map.hpp,1.4,1.5 main.cpp,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/pure-data/externals/chaos/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20765
Modified Files:
Makefile.am bernoulli_dsp.cpp bungalow_tent_dsp.cpp
bungalow_tent_msg.cpp chaos.hpp chaos_base.hpp chaos_defs.hpp
circle_map_dsp.cpp circle_map_msg.cpp gauss_map_dsp.cpp
gauss_map_msg.cpp henon_map_dsp.cpp henon_map_msg.cpp
ikeda_laser_map_dsp.cpp ikeda_laser_map_msg.cpp
logistic_dsp.cpp logistic_msg.cpp lorenz.hpp lorenz_dsp.cpp
lorenz_msg.cpp lozi_map_dsp.cpp lozi_map_msg.cpp main.cpp
sine_map_dsp.cpp sine_map_msg.cpp standard_map_dsp.cpp
standard_map_msg.cpp tent_map_dsp.cpp tent_map_msg.cpp
Added Files:
coupled_logistic.hpp coupled_logistic_dsp.cpp
coupled_logistic_msg.cpp driven_anharmonic.hpp
driven_anharmonic_dsp.cpp driven_anharmonic_msg.cpp
driven_van_der_pol.hpp driven_van_der_pol_dsp.cpp
driven_van_der_pol_msg.cpp roessler.hpp roessler_dsp.cpp
roessler_msg.cpp
Log Message:
additions and better code reuse
Index: lozi_map_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/lozi_map_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** lozi_map_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- lozi_map_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class lozi_map_msg:
! public chaos_msg<lozi_map>
! {
! CHAOS_MSG_INIT(lozi_map, LOZI_MAP_ATTRIBUTES);
!
! LOZI_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("lozi", lozi_map_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS_NAME(lozi_map, LOZI_MAP, "lozi");
Index: main.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/main.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** main.cpp 27 Dec 2004 14:44:11 -0000 1.5
--- main.cpp 27 Dec 2004 22:55:41 -0000 1.6
***************
*** 20,23 ****
--- 20,24 ----
#include "chaos.hpp"
+ #include "chaos_defs.hpp"
void chaos_library_setup()
***************
*** 25,63 ****
post("chaos~ version "PACKAGE_VERSION"\n");
! FLEXT_DSP_SETUP(bernoulli_dsp);
! FLEXT_SETUP(bernoulli_msg);
!
! FLEXT_DSP_SETUP(bungalow_tent_dsp);
! FLEXT_SETUP(bungalow_tent_msg);
!
! FLEXT_DSP_SETUP(circle_map_dsp);
! FLEXT_SETUP(circle_map_msg);
!
! FLEXT_DSP_SETUP(gauss_map_dsp);
! FLEXT_SETUP(gauss_map_msg);
!
! FLEXT_DSP_SETUP(henon_dsp);
! FLEXT_SETUP(henon_msg);
!
! FLEXT_DSP_SETUP(ikeda_laser_map_dsp);
! FLEXT_SETUP(ikeda_laser_map_msg);
!
! FLEXT_DSP_SETUP(logistic_dsp);
! FLEXT_SETUP(logistic_msg);
!
! FLEXT_DSP_SETUP(lorenz_dsp);
! FLEXT_SETUP(lorenz_msg);
!
! FLEXT_DSP_SETUP(lozi_map_dsp);
! FLEXT_SETUP(lozi_map_msg);
!
! FLEXT_DSP_SETUP(sine_map_dsp);
! FLEXT_SETUP(sine_map_msg);
!
! FLEXT_DSP_SETUP(standard_map_dsp);
! FLEXT_SETUP(standard_map_msg);
!
! FLEXT_DSP_SETUP(tent_map_dsp);
! FLEXT_SETUP(tent_map_msg);
}
--- 26,45 ----
post("chaos~ version "PACKAGE_VERSION"\n");
! CHAOS_ADD(bernoulli);
! CHAOS_ADD(bungalow_tent);
! CHAOS_ADD(circle_map);
! CHAOS_ADD(coupled_logistic);
! CHAOS_ADD(driven_anharmonic);
! CHAOS_ADD(driven_van_der_pol);
! CHAOS_ADD(gauss_map);
! CHAOS_ADD(henon);
! CHAOS_ADD(ikeda_laser_map);
! CHAOS_ADD(logistic);
! CHAOS_ADD(lorenz);
! CHAOS_ADD(lozi_map);
! CHAOS_ADD(roesser);
! CHAOS_ADD(sine_map);
! CHAOS_ADD(standard_map);
! CHAOS_ADD(tent_map);
}
--- NEW FILE: roessler.hpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "ode_base.hpp"
// roessler model: dx1/dt = - (x2 + x3)
// dx2/dt = x1 + a * x2
// dx3/dt = b + (x1 - c) * x3
// taken from Peitgen / Jürgens / Saupe: Chaos and Fractals
class roessler
: public ode_base
{
public:
roessler()
{
m_num_eq = 3;
m_data = new data_t[m_num_eq];
CHAOS_SYS_INIT(method,0);
CHAOS_SYS_INIT(x1,0);
CHAOS_SYS_INIT(x2,0);
CHAOS_SYS_INIT(x3,0);
CHAOS_SYS_INIT(a,4);
CHAOS_SYS_INIT(b,4);
CHAOS_SYS_INIT(c,4);
ode_base_alloc();
}
~roessler()
{
ode_base_free();
delete m_data;
}
virtual void m_system(data_t* deriv, data_t* data)
{
data_t x1 = data[0], x2 = data[1], x3 = data[2];
deriv[0] = - (x2 - x1);
deriv[1] = x1 + CHAOS_PARAMETER(a) * x2;
deriv[2] = CHAOS_PARAMETER(b) + (x1 - CHAOS_PARAMETER(c)) * x3;
}
CHAOS_SYSVAR_FUNCS(x1, 0);
CHAOS_SYSVAR_FUNCS(x2, 1);
CHAOS_SYSVAR_FUNCS(x3, 2);
CHAOS_SYSPAR_FUNCS(a);
CHAOS_SYSPAR_FUNCS(b);
CHAOS_SYSPAR_FUNCS(c);
};
#define ROESSLER_CALLBACKS \
ODE_CALLBACKS; \
CHAOS_SYS_CALLBACKS(x1); \
CHAOS_SYS_CALLBACKS(x2); \
CHAOS_SYS_CALLBACKS(x3); \
CHAOS_SYS_CALLBACKS(a); \
CHAOS_SYS_CALLBACKS(b); \
CHAOS_SYS_CALLBACKS(c);
#define ROESSLER_ATTRIBUTES \
ODE_ATTRIBUTES; \
CHAOS_SYS_ATTRIBUTE(x1); \
CHAOS_SYS_ATTRIBUTE(x2); \
CHAOS_SYS_ATTRIBUTE(x3); \
CHAOS_SYS_ATTRIBUTE(a); \
CHAOS_SYS_ATTRIBUTE(b); \
CHAOS_SYS_ATTRIBUTE(c);
Index: standard_map_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/standard_map_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** standard_map_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- standard_map_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
- class standard_map_dsp:
- public chaos_dsp<standard_map>
- {
- CHAOS_DSP_INIT(standard_map, STANDARD_MAP_ATTRIBUTES);
! STANDARD_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("standard_map~", standard_map_dsp);
--- 22,25 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS(standard_map, STANDARD_MAP);
Index: circle_map_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/circle_map_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** circle_map_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- circle_map_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class circle_map_msg:
! public chaos_msg<circle_map>
! {
! CHAOS_MSG_INIT(circle_map, CIRCLE_MAP_ATTRIBUTES);
!
! CIRCLE_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("circle_map", circle_map_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS(circle_map, CIRCLE_MAP);
Index: sine_map_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/sine_map_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** sine_map_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- sine_map_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class sine_map_msg:
! public chaos_msg<sine_map>
! {
! CHAOS_MSG_INIT(sine_map, SINE_MAP_ATTRIBUTES);
!
! SINE_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("sine_map", sine_map_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS(sine_map, SINE_MAP);
Index: circle_map_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/circle_map_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** circle_map_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- circle_map_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
! class circle_map_dsp:
! public chaos_dsp<circle_map>
! {
! CHAOS_DSP_INIT(circle_map, CIRCLE_MAP_ATTRIBUTES);
!
! CIRCLE_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("circle_map~", circle_map_dsp);
--- 22,24 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS(circle_map, CIRCLE_MAP)
Index: logistic_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/logistic_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** logistic_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- logistic_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class logistic_msg:
! public chaos_msg<logistic>
! {
! CHAOS_MSG_INIT(logistic, LOGISTIC_ATTRIBUTES);
!
! LOGISTIC_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("logistic", logistic_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS(logistic, LOGISTIC);
Index: lorenz_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/lorenz_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** lorenz_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- lorenz_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
! class lorenz_dsp:
! public chaos_dsp<lorenz>
! {
! CHAOS_DSP_INIT(lorenz, LORENZ_ATTRIBUTES);
!
! LORENZ_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("lorenz~", lorenz_dsp);
--- 22,24 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS(lorenz, LORENZ);
Index: tent_map_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/tent_map_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** tent_map_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- tent_map_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
- class tent_map_dsp:
- public chaos_dsp<tent_map>
- {
- CHAOS_DSP_INIT(tent_map, TENT_MAP_ATTRIBUTES);
-
- TENT_MAP_CALLBACKS;
- };
-
! FLEXT_LIB_DSP_V("tent~", tent_map_dsp);
--- 22,26 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS_NAME(tent_map, TENT_MAP, "tent~");
Index: ikeda_laser_map_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/ikeda_laser_map_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ikeda_laser_map_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- ikeda_laser_map_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
- class ikeda_laser_map_dsp:
- public chaos_dsp<ikeda_laser_map>
- {
- CHAOS_DSP_INIT(ikeda_laser_map, IKEDA_LASER_MAP_ATTRIBUTES);
-
- IKEDA_LASER_MAP_CALLBACKS;
- };
-
- FLEXT_LIB_DSP_V("ikeda~", ikeda_laser_map_dsp);
--- 22,26 ----
#include "chaos_dsp.hpp"
+ CHAOS_DSP_CLASS_NAME(ikeda_laser_map, IKEDA_LASER_MAP, "ikeda");
--- NEW FILE: driven_van_der_pol_msg.cpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "driven_van_der_pol.hpp"
#include "chaos_msg.hpp"
CHAOS_MSG_CLASS(driven_van_der_pol, DRIVEN_VAN_DER_POL);
Index: henon_map_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/henon_map_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** henon_map_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- henon_map_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class henon_msg:
! public chaos_msg<henon>
! {
! CHAOS_MSG_INIT(henon, HENON_ATTRIBUTES);
!
! HENON_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("henon", henon_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS_NAME(henon, HENON, "henon");
Index: chaos_defs.hpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/chaos_defs.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** chaos_defs.hpp 27 Dec 2004 14:44:11 -0000 1.1
--- chaos_defs.hpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 132,136 ****
--- 132,176 ----
+ /* macros for class generation */
+ #define CHAOS_DSP_CLASS(CLASSNAME,CLASSNAME_UC) \
+ class CLASSNAME##_dsp: \
+ public chaos_dsp<CLASSNAME> \
+ { \
+ CHAOS_DSP_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \
+ CLASSNAME_UC##_CALLBACKS; \
+ }; \
+ FLEXT_LIB_DSP_V(#CLASSNAME"~", CLASSNAME##_dsp);
+
+ #define CHAOS_DSP_CLASS_NAME(CLASSNAME,CLASSNAME_UC, NAME) \
+ class CLASSNAME##_dsp: \
+ public chaos_dsp<CLASSNAME> \
+ { \
+ CHAOS_DSP_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \
+ CLASSNAME_UC##_CALLBACKS; \
+ }; \
+ FLEXT_LIB_DSP_V(#NAME, CLASSNAME##_dsp);
+
+
+ #define CHAOS_MSG_CLASS(CLASSNAME,CLASSNAME_UC) \
+ class CLASSNAME##_msg: \
+ public chaos_msg<CLASSNAME> \
+ { \
+ CHAOS_MSG_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \
+ CLASSNAME_UC##_CALLBACKS; \
+ }; \
+ FLEXT_LIB_V(#CLASSNAME, CLASSNAME##_msg);
+
+ #define CHAOS_MSG_CLASS_NAME(CLASSNAME,CLASSNAME_UC, NAME) \
+ class CLASSNAME##_msg: \
+ public chaos_msg<CLASSNAME> \
+ { \
+ CHAOS_MSG_INIT(CLASSNAME, CLASSNAME_UC##_ATTRIBUTES); \
+ CLASSNAME_UC##_CALLBACKS; \
+ }; \
+ FLEXT_LIB_V(#NAME, CLASSNAME##_msg);
+ #define CHAOS_ADD(NAME) \
+ FLEXT_DSP_SETUP(NAME##_dsp); \
+ FLEXT_SETUP(NAME##_msg);
#define __chaos_defs_hpp
Index: bernoulli_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/bernoulli_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** bernoulli_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- bernoulli_dsp.cpp 27 Dec 2004 22:55:40 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
! class bernoulli_dsp:
! public chaos_dsp<bernoulli>
! {
! CHAOS_DSP_INIT(bernoulli, BERNOULLI_ATTRIBUTES);
!
! BERNOULLI_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("bernoulli~", bernoulli_dsp);
--- 22,24 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS(bernoulli, BERNOULLI);
Index: sine_map_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/sine_map_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** sine_map_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- sine_map_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
- class sine_map_dsp:
- public chaos_dsp<sine_map>
- {
- CHAOS_DSP_INIT(sine_map, SINE_MAP_ATTRIBUTES);
! SINE_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("sine_map~", sine_map_dsp);
--- 22,25 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS(sine_map, SINE_MAP);
Index: Makefile.am
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/Makefile.am,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Makefile.am 27 Dec 2004 14:44:10 -0000 1.5
--- Makefile.am 27 Dec 2004 22:55:40 -0000 1.6
***************
*** 5,8 ****
--- 5,11 ----
bungalow_tent_dsp.cpp bungalow_tent_msg.cpp \
circle_map_dsp.cpp circle_map_msg.cpp \
+ coupled_logistic_dsp.cpp coupled_logistic_msg.cpp \
+ driven_anharmonic_dsp.cpp driven_anharmonic_msg.cpp \
+ driven_van_der_pol_dsp.cpp driven_van_der_pol_msg.cpp \
gauss_map_dsp.cpp gauss_map_msg.cpp \
henon_map_dsp.cpp henon_map_msg.cpp \
***************
*** 11,14 ****
--- 14,18 ----
lorenz_dsp.cpp lorenz_msg.cpp \
lozi_map_dsp.cpp lozi_map_msg.cpp \
+ roessler_dsp.cpp roessler_msg.cpp \
sine_map_dsp.cpp sine_map_msg.cpp \
standard_map_dsp.cpp standard_map_msg.cpp \
Index: lorenz.hpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/lorenz.hpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** lorenz.hpp 25 Dec 2004 12:50:41 -0000 1.5
--- lorenz.hpp 27 Dec 2004 22:55:41 -0000 1.6
***************
*** 45,50 ****
ode_base_alloc();
-
- set_method(0);
}
--- 45,48 ----
--- NEW FILE: driven_anharmonic.hpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "ode_base.hpp"
#include <cmath>
// driven anharmonic:
// d2u/dt2 + a * du/dt + b*u + c * u*u*u = k1 + k2*cos(Omega*t)
// equivalent:
// du1/dt = u2
// du2/dt = -a*u2 - b*u1 -c*u*u*u + k1 + k2*cos(Omega*t)
// taken from Willi-Hans Steeb: Chaos and Fractals
class driven_anharmonic
: public ode_base
{
public:
driven_anharmonic()
{
m_num_eq = 2;
m_data = new data_t[m_num_eq];
CHAOS_SYS_INIT(method,0);
CHAOS_SYS_INIT(dt,0.01);
CHAOS_SYS_INIT(u1,0);
CHAOS_SYS_INIT(u2,1);
CHAOS_SYS_INIT(a,1);
CHAOS_SYS_INIT(b,-10);
CHAOS_SYS_INIT(c,100);
CHAOS_SYS_INIT(Omega,3.5);
CHAOS_SYS_INIT(k1,0.01);
CHAOS_SYS_INIT(k2,1);
ode_base_alloc();
m_t = 0;
}
~driven_anharmonic()
{
ode_base_free();
delete m_data;
}
virtual void m_system(data_t* deriv, data_t* data)
{
data_t u1 = data[0], u2 = data[1];
deriv[0] = u2;
deriv[1] = - CHAOS_PARAMETER(a) * u2 - CHAOS_PARAMETER(b) * u1 -
CHAOS_PARAMETER(c) * u1*u1*u1 + CHAOS_PARAMETER(k1) +
CHAOS_PARAMETER(k2) * cos (CHAOS_PARAMETER(Omega) * m_t);
m_t += m_dt;
if (m_t > 2 * M_PI)
m_t = fmod(m_t, 2*M_PI);
}
data_t m_t;
CHAOS_SYSVAR_FUNCS(u1, 0);
CHAOS_SYSVAR_FUNCS(u2, 1);
CHAOS_SYSPAR_FUNCS(a);
CHAOS_SYSPAR_FUNCS(b);
CHAOS_SYSPAR_FUNCS(c);
CHAOS_SYSPAR_FUNCS(k1);
CHAOS_SYSPAR_FUNCS(k2);
CHAOS_SYSPAR_FUNCS(Omega);
};
#define DRIVEN_ANHARMONIC_CALLBACKS \
ODE_CALLBACKS; \
CHAOS_SYS_CALLBACKS(u1); \
CHAOS_SYS_CALLBACKS(u2); \
CHAOS_SYS_CALLBACKS(a); \
CHAOS_SYS_CALLBACKS(b); \
CHAOS_SYS_CALLBACKS(c); \
CHAOS_SYS_CALLBACKS(k1); \
CHAOS_SYS_CALLBACKS(k2); \
CHAOS_SYS_CALLBACKS(Omega);
#define DRIVEN_ANHARMONIC_ATTRIBUTES \
ODE_ATTRIBUTES; \
CHAOS_SYS_ATTRIBUTE(u1); \
CHAOS_SYS_ATTRIBUTE(u2); \
CHAOS_SYS_ATTRIBUTE(a); \
CHAOS_SYS_ATTRIBUTE(b); \
CHAOS_SYS_ATTRIBUTE(c); \
CHAOS_SYS_ATTRIBUTE(k1); \
CHAOS_SYS_ATTRIBUTE(k2); \
CHAOS_SYS_ATTRIBUTE(Omega);
Index: gauss_map_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/gauss_map_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** gauss_map_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- gauss_map_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
! class gauss_map_dsp:
! public chaos_dsp<gauss_map>
! {
! CHAOS_DSP_INIT(gauss_map, GAUSS_MAP_ATTRIBUTES);
!
! GAUSS_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("gauss_map~", gauss_map_dsp);
--- 22,24 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS(gauss_map, GAUSS_MAP);
Index: chaos_base.hpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/chaos_base.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** chaos_base.hpp 24 Dec 2004 15:31:14 -0000 1.3
--- chaos_base.hpp 27 Dec 2004 22:55:41 -0000 1.4
***************
*** 22,26 ****
#include "chaos.hpp"
- #include "chaos_defs.hpp"
class chaos_base
--- 22,25 ----
Index: lozi_map_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/lozi_map_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** lozi_map_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- lozi_map_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
! class lozi_map_dsp:
! public chaos_dsp<lozi_map>
! {
! CHAOS_DSP_INIT(lozi_map, LOZI_MAP_ATTRIBUTES);
!
! LOZI_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("lozi~", lozi_map_dsp);
--- 22,24 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS_NAME(lozi_map, LOZI_MAP, "lozi");
Index: henon_map_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/henon_map_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** henon_map_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- henon_map_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
! class henon_dsp:
! public chaos_dsp<henon>
! {
! CHAOS_DSP_INIT(henon, HENON_ATTRIBUTES);
!
! HENON_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("henon~", henon_dsp);
--- 22,24 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS_NAME(henon, HENON, "henon~");
--- NEW FILE: roessler_msg.cpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "roessler.hpp"
#include "chaos_msg.hpp"
CHAOS_MSG_CLASS(roessler,ROESSLER);
--- NEW FILE: roessler_dsp.cpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "roessler.hpp"
#include "chaos_dsp.hpp"
CHAOS_DSP_CLASS(roessler,ROESSLER);
Index: bungalow_tent_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/bungalow_tent_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** bungalow_tent_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- bungalow_tent_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
! class bungalow_tent_dsp:
! public chaos_dsp<bungalow_tent>
! {
! CHAOS_DSP_INIT(bungalow_tent, BUNGALOW_TENT_ATTRIBUTES);
!
! BUNGALOW_TENT_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("bungalow_tent~", bungalow_tent_dsp);
--- 22,24 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS(bungalow_tent,BUNGALOW_TENT);
Index: ikeda_laser_map_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/ikeda_laser_map_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ikeda_laser_map_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- ikeda_laser_map_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class ikeda_laser_map_msg:
! public chaos_msg<ikeda_laser_map>
! {
! CHAOS_MSG_INIT(ikeda_laser_map, IKEDA_LASER_MAP_ATTRIBUTES);
!
! IKEDA_LASER_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("ikeda_laser_map", ikeda_laser_map_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS_NAME(ikeda_laser_map, IKEDA_LASER_MAP, "ikeda~");
--- NEW FILE: coupled_logistic_dsp.cpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "coupled_logistic.hpp"
#include "chaos_dsp.hpp"
CHAOS_DSP_CLASS(coupled_logistic, COUPLED_LOGISTIC)
--- NEW FILE: driven_anharmonic_msg.cpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "driven_anharmonic.hpp"
#include "chaos_msg.hpp"
CHAOS_MSG_CLASS(driven_anharmonic, DRIVEN_ANHARMONIC);
Index: chaos.hpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/chaos.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** chaos.hpp 24 Dec 2004 15:31:14 -0000 1.3
--- chaos.hpp 27 Dec 2004 22:55:41 -0000 1.4
***************
*** 24,27 ****
--- 24,28 ----
#include "flext.h"
+ #include "chaos_defs.hpp"
/* internal we can work with a higher precision than pd */
--- NEW FILE: driven_anharmonic_dsp.cpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "driven_anharmonic.hpp"
#include "chaos_dsp.hpp"
CHAOS_DSP_CLASS(driven_anharmonic, DRIVEN_ANHARMONIC);
--- NEW FILE: coupled_logistic.hpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "map_base.hpp"
// coupled_logistic map: x[n+1] = r * x[n] * (1 - x[n]) + e * (y[n] - x[n])
// y[n+1] = r * y[n] * (1 - y[n]) + e * (x[t] - y[t])
// 1 <= r <= 4
// taken from Willi-Hans Steeb: Chaos and Fractals
class coupled_logistic:
public map_base
{
public:
coupled_logistic()
{
m_num_eq = 2;
m_data = new data_t[2];
CHAOS_SYS_INIT(e, 0.06);
CHAOS_SYS_INIT(r, 3.7);
CHAOS_SYS_INIT(x, 0.1);
CHAOS_SYS_INIT(x, 0.2);
}
~coupled_logistic()
{
delete m_data;
}
virtual void m_step()
{
data_t x = m_data[0];
data_t y = m_data[1];
data_t e = CHAOS_PARAMETER(e);
data_t r = CHAOS_PARAMETER(r);
m_data[0] = r * x * (1.f - x) + e * (y - x);
m_data[1] = r * y * (1.f - y) + e * (x - y);
}
CHAOS_SYSPAR_FUNCS(e);
CHAOS_SYSPAR_FUNCS_PRED(r, m_pred_r);
bool m_pred_r(t_float f)
{
return (f > 0) && (f < 4);
}
CHAOS_SYSVAR_FUNCS(x, 0);
CHAOS_SYSVAR_FUNCS(y, 0);
};
#define COUPLED_LOGISTIC_CALLBACKS \
MAP_CALLBACKS; \
CHAOS_SYS_CALLBACKS(e); \
CHAOS_SYS_CALLBACKS(r); \
CHAOS_SYS_CALLBACKS(x); \
CHAOS_SYS_CALLBACKS(y);
#define COUPLED_LOGISTIC_ATTRIBUTES \
MAP_ATTRIBUTES; \
CHAOS_SYS_ATTRIBUTE(e); \
CHAOS_SYS_ATTRIBUTE(r); \
CHAOS_SYS_ATTRIBUTE(x); \
CHAOS_SYS_ATTRIBUTE(y);
--- NEW FILE: driven_van_der_pol_dsp.cpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "driven_van_der_pol.hpp"
#include "chaos_dsp.hpp"
CHAOS_DSP_CLASS(driven_van_der_pol, DRIVEN_VAN_DER_POL);
Index: gauss_map_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/gauss_map_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** gauss_map_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- gauss_map_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class gauss_map_msg:
! public chaos_msg<gauss_map>
! {
! CHAOS_MSG_INIT(gauss_map, GAUSS_MAP_ATTRIBUTES);
!
! GAUSS_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("gauss_map", gauss_map_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS(gauss_map, GAUSS_MAP);
Index: tent_map_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/tent_map_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** tent_map_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- tent_map_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class tent_map_msg:
! public chaos_msg<tent_map>
! {
! CHAOS_MSG_INIT(tent_map, TENT_MAP_ATTRIBUTES);
!
! TENT_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("tent", tent_map_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS_NAME(tent_map, TENT_MAP, "tent");
Index: lorenz_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/lorenz_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** lorenz_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- lorenz_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class lorenz_msg:
! public chaos_msg<lorenz>
! {
! CHAOS_MSG_INIT(lorenz, LORENZ_ATTRIBUTES);
!
! LORENZ_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("lorenz", lorenz_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS(lorenz, LORENZ);
Index: bungalow_tent_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/bungalow_tent_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** bungalow_tent_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- bungalow_tent_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class bungalow_tent_msg:
! public chaos_msg<bungalow_tent>
! {
! CHAOS_MSG_INIT(bungalow_tent, BUNGALOW_TENT_ATTRIBUTES);
!
! BUNGALOW_TENT_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("bungalow_tent", bungalow_tent_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS(bungalow_tent, BUNGALOW_TENT);
--- NEW FILE: coupled_logistic_msg.cpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "coupled_logistic.hpp"
#include "chaos_msg.hpp"
class coupled_logistic_msg:
public chaos_msg<coupled_logistic>
{
CHAOS_MSG_INIT(coupled_logistic, COUPLED_LOGISTIC_ATTRIBUTES);
COUPLED_LOGISTIC_CALLBACKS;
};
FLEXT_LIB_V("coupled_logistic", coupled_logistic_msg);
Index: standard_map_msg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/standard_map_msg.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** standard_map_msg.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- standard_map_msg.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_msg.hpp"
! class standard_map_msg:
! public chaos_msg<standard_map>
! {
! CHAOS_MSG_INIT(standard_map, STANDARD_MAP_ATTRIBUTES);
!
! STANDARD_MAP_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_V("standard_map", standard_map_msg);
--- 22,24 ----
#include "chaos_msg.hpp"
! CHAOS_MSG_CLASS(standard_map, STANDARD_MAP);
--- NEW FILE: driven_van_der_pol.hpp ---
//
//
// chaos~
// Copyright (C) 2004 Tim Blechmann
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; see the file COPYING. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include "ode_base.hpp"
#include <cmath>
// driven van_der_pol:
// d2u/dt2 + a*(u*u -1)*du/dt + u = k * cos(Omega*t)
// equivalent:
// du1/dt = u2
// du2/dt = -a*(u1*u1 - 1)*u2 - u1 + k*cos(u3)
// du3/dt = Omega
// taken from Willi-Hans Steeb: Chaos and Fractals
class driven_van_der_pol
: public ode_base
{
public:
driven_van_der_pol()
{
m_num_eq = 2;
m_data = new data_t[m_num_eq];
CHAOS_SYS_INIT(method,0);
CHAOS_SYS_INIT(dt,0.01);
CHAOS_SYS_INIT(u1,0.8);
CHAOS_SYS_INIT(u2,0.6);
CHAOS_SYS_INIT(u3,0.4);
CHAOS_SYS_INIT(a,5);
CHAOS_SYS_INIT(Omega,2.466);
CHAOS_SYS_INIT(k,5);
ode_base_alloc();
}
~driven_van_der_pol()
{
ode_base_free();
delete m_data;
}
virtual void m_system(data_t* deriv, data_t* data)
{
data_t u1 = data[0], u2 = data[1], u3 = data[2];
deriv[0] = u2;
deriv[1] = - CHAOS_PARAMETER(a) * (u1*u1 -1) * u2 - u1 +
CHAOS_PARAMETER(k)*cos(u3);
deriv[2] = CHAOS_PARAMETER(Omega);
}
CHAOS_SYSVAR_FUNCS(u1, 0);
CHAOS_SYSVAR_FUNCS(u2, 1);
CHAOS_SYSVAR_FUNCS(u3, 2);
CHAOS_SYSPAR_FUNCS(a);
CHAOS_SYSPAR_FUNCS(k);
CHAOS_SYSPAR_FUNCS(Omega);
};
#define DRIVEN_VAN_DER_POL_CALLBACKS \
ODE_CALLBACKS; \
CHAOS_SYS_CALLBACKS(u1); \
CHAOS_SYS_CALLBACKS(u2); \
CHAOS_SYS_CALLBACKS(a); \
CHAOS_SYS_CALLBACKS(k); \
CHAOS_SYS_CALLBACKS(Omega);
#define DRIVEN_VAN_DER_POL_ATTRIBUTES \
ODE_ATTRIBUTES; \
CHAOS_SYS_ATTRIBUTE(u1); \
CHAOS_SYS_ATTRIBUTE(u2); \
CHAOS_SYS_ATTRIBUTE(a); \
CHAOS_SYS_ATTRIBUTE(k); \
CHAOS_SYS_ATTRIBUTE(Omega);
Index: logistic_dsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/chaos/src/logistic_dsp.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** logistic_dsp.cpp 27 Dec 2004 14:44:11 -0000 1.1
--- logistic_dsp.cpp 27 Dec 2004 22:55:41 -0000 1.2
***************
*** 22,34 ****
#include "chaos_dsp.hpp"
! class logistic_dsp:
! public chaos_dsp<logistic>
! {
! CHAOS_DSP_INIT(logistic, LOGISTIC_ATTRIBUTES);
!
! LOGISTIC_CALLBACKS;
! };
!
!
!
! FLEXT_LIB_DSP_V("logistic~", logistic_dsp);
--- 22,24 ----
#include "chaos_dsp.hpp"
! CHAOS_DSP_CLASS(logistic, LOGISTIC);
- Previous message: [PD-cvs] pd/src s_audio.c,1.5.4.4,1.5.4.5 m_glob.c,1.4.4.1,1.4.4.2
- Next message: [PD-cvs] externals/chaos/src duffing_map.hpp,NONE,1.1 duffing_map_dsp.cpp,NONE,1.1 duffing_map_msg.cpp,NONE,1.1 latoocarfian.hpp,NONE,1.1 latoocarfian_dsp.cpp,NONE,1.1 latoocarfian_msg.cpp,NONE,1.1 latoomutalpha.hpp,NONE,1.1 latoomutalpha_dsp.cpp,NONE,1.1 latoomutalpha_msg.cpp,NONE,1.1 latoomutbeta.hpp,NONE,1.1 latoomutbeta_dsp.cpp,NONE,1.1 latoomutbeta_msg.cpp,NONE,1.1 latoomutgamma.hpp,NONE,1.1 latoomutgamma_dsp.cpp,NONE,1.1 latoomutgamma_msg.cpp,NONE,1.1 Makefile.am,1.6,1.7 chaos.hpp,1.4,1.5 chaos_defs.hpp,1.2,1.3 chaos_dsp.hpp,1.5,1.6 logistic_map.hpp,1.4,1.5 main.cpp,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Pd-cvs
mailing list