Update of /cvsroot/pure-data/externals/chaos/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18492
Modified Files: Makefile.am bernoulli_map.hpp bungalow_tent_map.hpp chaos_dsp.hpp circle_map.hpp gauss_map.hpp henon_map.hpp ikeda_laser_map.hpp lozi_map.hpp main.cpp sine_map.hpp standard_map.hpp tent_map.hpp Added Files: bernoulli_dsp.cpp bernoulli_msg.cpp bungalow_tent_dsp.cpp bungalow_tent_msg.cpp chaos_defs.hpp chaos_msg.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_dsp.cpp lorenz_msg.cpp lozi_map_dsp.cpp lozi_map_msg.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 Log Message: a lot of new objects ...
--- NEW FILE: lozi_map_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 "lozi_map.hpp" #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);
Index: main.cpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/main.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** main.cpp 25 Dec 2004 12:50:41 -0000 1.4 --- main.cpp 27 Dec 2004 14:44:11 -0000 1.5 *************** *** 24,33 **** { post("chaos~ version "PACKAGE_VERSION"\n"); FLEXT_DSP_SETUP(lorenz_dsp); FLEXT_SETUP(lorenz_msg);
! FLEXT_DSP_SETUP(logistic_dsp); ! FLEXT_SETUP(logistic_msg); }
--- 24,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); }
--- NEW FILE: standard_map_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 "standard_map.hpp" #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);
--- NEW FILE: circle_map_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 "circle_map.hpp" #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);
--- NEW FILE: sine_map_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 "sine_map.hpp" #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);
--- NEW FILE: circle_map_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 "circle_map.hpp" #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);
--- NEW FILE: 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 "logistic_map.hpp" #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);
Index: tent_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/tent_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tent_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- tent_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 26,34 **** // taken from Willi-Hans Steeb: Chaos and Fractals
! class tent: ! protected map_base { public: ! tent() { m_num_eq = 1; --- 26,34 ---- // taken from Willi-Hans Steeb: Chaos and Fractals
! class tent_map: ! public map_base { public: ! tent_map() { m_num_eq = 1; *************** *** 37,41 **** }
! ~tent() { delete m_data; --- 37,41 ---- }
! ~tent_map() { delete m_data; *************** *** 60,70 ****
! #define LOGISTIC_CALLBACKS \ MAP_CALLBACKS \ CHAOS_SYS_CALLBACKS(x);
! #define LOGISTIC_ATTRIBUTES \ MAP_ATTRIBUTES \ CHAOS_SYS_ATTRIBUTE(x); !
--- 60,70 ----
! #define TENT_MAP_CALLBACKS \ MAP_CALLBACKS \ CHAOS_SYS_CALLBACKS(x);
! #define TENT_MAP_ATTRIBUTES \ MAP_ATTRIBUTES \ CHAOS_SYS_ATTRIBUTE(x); !
--- NEW FILE: lorenz_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 "lorenz.hpp" #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);
--- NEW FILE: tent_map_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 "tent_map.hpp" #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);
Index: sine_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/sine_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** sine_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- sine_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 26,35 **** // taken from Willi-Hans Steeb: Chaos and Fractals
! class sine: ! protected map_base { public: ! sine() { m_num_eq = 1; --- 26,35 ---- // taken from Willi-Hans Steeb: Chaos and Fractals
! class sine_map: ! public map_base { public: ! sine_map() { m_num_eq = 1; *************** *** 38,42 **** }
! ~sine() { delete m_data; --- 38,42 ---- }
! ~sine_map() { delete m_data; *************** *** 48,52 **** }
! CHAOS_SYSVAR_FUNCS_PRED(x, m_pred);
bool m_pred(t_float f) --- 48,52 ---- }
! CHAOS_SYSVAR_FUNCS_PRED(x, 0, m_pred);
bool m_pred(t_float f) *************** *** 56,64 **** };
! #define SINE_CALLBACKS \ MAP_CALLBACKS \ CHAOS_SYS_CALLBACKS(x);
! #define SINE_ATTRIBUTES \ MAP_ATTRIBUTES \ CHAOS_SYS_ATTRIBUTE(x); --- 56,64 ---- };
! #define SINE_MAP_CALLBACKS \ MAP_CALLBACKS \ CHAOS_SYS_CALLBACKS(x);
! #define SINE_MAP_ATTRIBUTES \ MAP_ATTRIBUTES \ CHAOS_SYS_ATTRIBUTE(x);
--- NEW FILE: ikeda_laser_map_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 "ikeda_laser_map.hpp" #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);
--- NEW FILE: bernoulli_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 "bernoulli_map.hpp" #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);
--- NEW FILE: henon_map_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 "henon_map.hpp" #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);
--- NEW FILE: chaos_defs.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.
#ifndef __chaos_defs_hpp
// macros for simplified system state functions #define CHAOS_SYS_SETFUNC(NAME, NR) \ void set_##NAME(t_float f) \ { \ m_data[NR] = (data_t) f; \ }
#define CHAOS_SYS_SETFUNC_PRED(NAME, NR, PRED) \ void set_##NAME(t_float f) \ { \ if ( PRED(f) ) \ m_data[NR] = (data_t) f; \ else \ post("value for dimension " #NAME " %f out of range", f); \ }
#define CHAOS_SYS_GETFUNC(NAME, NR) \ t_float get_##NAME() \ { \ return (t_float)m_data[NR]; \ }
/* to be called in the public part */ #define CHAOS_SYSVAR_FUNCS_PRED(NAME, NR, PRED) \ CHAOS_SYS_SETFUNC_PRED(NAME, NR, PRED) \ CHAOS_SYS_GETFUNC(NAME, NR)
#define CHAOS_SYSVAR_FUNCS(NAME, NR) \ CHAOS_SYS_SETFUNC(NAME, NR) \ CHAOS_SYS_GETFUNC(NAME, NR)
// macros for simplified system parameter functions #define CHAOS_PAR_SETFUNC(NAME) \ void set_##NAME(t_float f) \ { \ m_##NAME = (data_t) f; \ }
#define CHAOS_PAR_SETFUNC_PRED(NAME, PRED) \ void set_##NAME(t_float f) \ { \ if ( PRED(f) ) \ m_##NAME = (data_t) f; \ else \ post("value for parameter " #NAME " %f out of range", f); \ }
#define CHAOS_PAR_GETFUNC(NAME) \ t_float get_##NAME() \ { \ return (t_float)m_##NAME; \ }
#define CHAOS_SYSPAR_FUNCS_PRED(NAME, PRED) \ CHAOS_PAR_SETFUNC_PRED(NAME, PRED) \ CHAOS_PAR_GETFUNC(NAME) \ data_t m_##NAME;
#define CHAOS_SYSPAR_FUNCS(NAME) \ public: \ CHAOS_PAR_SETFUNC(NAME) \ CHAOS_PAR_GETFUNC(NAME) \ data_t m_##NAME;
#define CHAOS_SYSPAR_FUNCS_I(NAME) \ CHAOS_PAR_SETFUNC(NAME) \ CHAOS_PAR_GETFUNC(NAME) \ data_t m_##NAME;
#define CHAOS_SYS_CALLBACKS(NAME) \ public:void get_##NAME(t_float &f) \ { \ f = m_system->get_##NAME(); \ } \ void set_##NAME(t_float &f) \ { \ m_system->set_##NAME(f); \ } \ FLEXT_CALLVAR_F(get_##NAME, set_##NAME);
#define CHAOS_SYS_CALLBACKS_I(NAME) \ public: \ void get_##NAME(int &i) \ { \ i = m_system->get_##NAME(); \ } \ void set_##NAME(int &i) \ { \ m_system->set_##NAME(i); \ } \ FLEXT_CALLVAR_I(get_##NAME, set_##NAME);
#define CHAOS_SYS_ATTRIBUTE(NAME) \ FLEXT_ADDATTR_VAR(#NAME,get_##NAME, set_##NAME);
#define CHAOS_SYS_INIT(NAME, VALUE) \ set_##NAME(VALUE);
#define CHAOS_PARAMETER(NAME) m_##NAME
#define __chaos_defs_hpp #endif /* __chaos_defs_hpp */
--- NEW FILE: gauss_map_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 "gauss_map.hpp" #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);
Index: circle_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/circle_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** circle_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- circle_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 21,30 **** #include "map_base.hpp"
! // circle_map map: x[n+1] = x[n] * omega - r / (2*pi) * sin (2 * pi * x [n]) // // taken from Willi-Hans Steeb: Chaos and Fractals
class circle_map: ! protected map_base { public: --- 21,32 ---- #include "map_base.hpp"
! #include <cmath> ! ! // circle_map map: x[n+1] = x[n] + omega - r / (2*pi) * sin (2 * pi * x [n]) // // taken from Willi-Hans Steeb: Chaos and Fractals
class circle_map: ! public map_base { public: *************** *** 33,39 **** m_num_eq = 1; m_data = new data_t[1]; ! CHAOS_SYS_INIT(omega, 0.4); ! CHAOS_SYS_INIT(r, 1); ! CHAOS_SYS_INIT(x, 0.5); }
--- 35,41 ---- m_num_eq = 1; m_data = new data_t[1]; ! CHAOS_SYS_INIT(omega, 0.1); ! CHAOS_SYS_INIT(r, 3); ! CHAOS_SYS_INIT(x, 0.4); }
--- NEW FILE: sine_map_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 "sine_map.hpp" #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);
Index: standard_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/standard_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** standard_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- standard_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 27,35 **** // taken from Willi-Hans Steeb: Chaos and Fractals
! class standard: ! protected map_base { public: ! standard() { m_num_eq = 2; --- 27,35 ---- // taken from Willi-Hans Steeb: Chaos and Fractals
! class standard_map: ! public map_base { public: ! standard_map() { m_num_eq = 2; *************** *** 41,45 **** }
! ~standard() { delete m_data; --- 41,45 ---- }
! ~standard_map() { delete m_data; *************** *** 55,75 **** theta = theta + I + k * sin(theta);
! if (y > 2 * M_PI) { do { ! y -= 2*M_PI; } ! while (y > 2 * M_PI); goto put_data; } ! if (y < 0) { do { ! y += 2*M_PI; } ! while (y < 0); } --- 55,75 ---- theta = theta + I + k * sin(theta);
! if (theta > 2 * M_PI) { do { ! theta -= 2*M_PI; } ! while (theta > 2 * M_PI); goto put_data; } ! if (theta < 0) { do { ! theta += 2*M_PI; } ! while (theta < 0); } *************** *** 87,95 **** }
! CHAOS_SYSPAR_FUNCS(I, 1); };
! #define STANDARD_CALLBACKS \ MAP_CALLBACKS; \ CHAOS_SYS_CALLBACKS(I); \ --- 87,95 ---- }
! CHAOS_SYSPAR_FUNCS(k); };
! #define STANDARD_MAP_CALLBACKS \ MAP_CALLBACKS; \ CHAOS_SYS_CALLBACKS(I); \ *************** *** 98,102 ****
! #define STANDARD_ATTRIBUTES \ MAP_ATTRIBUTES; \ CHAOS_SYS_ATTRIBUTE(I); \ --- 98,102 ----
! #define STANDARD_MAP_ATTRIBUTES \ MAP_ATTRIBUTES; \ CHAOS_SYS_ATTRIBUTE(I); \
Index: gauss_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/gauss_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** gauss_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- gauss_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 21,34 **** #include "map_base.hpp"
// gauss map: x[n+1] = 0 (for x[n] = 0) ! // fmod(1 / x[n]) (else) // 0 <= x[n] < 1 // taken from Willi-Hans Steeb: Chaos and Fractals
! class gauss: ! protected map_base { public: ! gauss() { m_num_eq = 1; --- 21,36 ---- #include "map_base.hpp"
+ #include <cmath> + // gauss map: x[n+1] = 0 (for x[n] = 0) ! // fmod(1 / x[n], 1) (else) // 0 <= x[n] < 1 // taken from Willi-Hans Steeb: Chaos and Fractals
! class gauss_map: ! public map_base { public: ! gauss_map() { m_num_eq = 1; *************** *** 37,41 **** }
! ~gauss() { delete m_data; --- 39,43 ---- }
! ~gauss_map() { delete m_data; *************** *** 47,53 ****
if (data == 0) ! m_data[0] = 0; else ! m_data[0] = fmod(1.f / data); }
--- 49,55 ----
if (data == 0) ! m_data[0] = 0.001; else ! m_data[0] = fmod(1.f / data, 1); }
*************** *** 59,67 **** };
! #define GAUSS_CALLBACKS \ MAP_CALLBACKS; \ CHAOS_SYS_CALLBACKS(x);
! #define GAUSS_ATTRIBUTES \ MAP_ATTRIBUTES; \ CHAOS_SYS_ATTRIBUTE(x); --- 61,69 ---- };
! #define GAUSS_MAP_CALLBACKS \ MAP_CALLBACKS; \ CHAOS_SYS_CALLBACKS(x);
! #define GAUSS_MAP_ATTRIBUTES \ MAP_ATTRIBUTES; \ CHAOS_SYS_ATTRIBUTE(x);
--- NEW FILE: gauss_map_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 "gauss_map.hpp" #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);
Index: bungalow_tent_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/bungalow_tent_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** bungalow_tent_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- bungalow_tent_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 34,38 ****
class bungalow_tent: ! protected map_base { public: --- 34,38 ----
class bungalow_tent: ! public map_base { public: *************** *** 41,45 **** m_num_eq = 1; m_data = new data_t[1]; ! CHAOS_SYS_INIT(x, 0.5); CHAOS_SYS_INIT(r, 0.5); } --- 41,45 ---- m_num_eq = 1; m_data = new data_t[1]; ! CHAOS_SYS_INIT(x, 0.6); CHAOS_SYS_INIT(r, 0.5); } *************** *** 84,88 **** }
! CHAOS_SYSVAR_FUNCS_PRED(r, 0, m_pred_r); bool m_pred_r(t_float f) { --- 84,88 ---- }
! CHAOS_SYSPAR_FUNCS_PRED(r, m_pred_r); bool m_pred_r(t_float f) {
--- NEW FILE: lozi_map_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 "lozi_map.hpp" #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);
--- NEW FILE: henon_map_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 "henon_map.hpp" #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);
--- NEW FILE: chaos_msg.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 "chaos_base.hpp"
template <class system> class chaos_msg : public flext_base { FLEXT_HEADER(chaos_msg, flext_base);
public:
/* local data for system, output and interpolation */ system * m_system; /* the system */
void m_bang() { m_system->m_step(); int outlets = m_system->get_num_eq();
while (outlets--) { ToOutFloat(outlets, m_system->get_data(outlets)); } }
FLEXT_CALLBACK(m_bang); };
/* create constructor / destructor */ #define CHAOS_MSG_INIT(SYSTEM, ATTRIBUTES) \ FLEXT_HEADER(SYSTEM##_msg, chaos_msg<SYSTEM>) \ \ SYSTEM##_msg(int argc, t_atom* argv ) \ { \ m_system = new SYSTEM; \ \ int size = m_system->get_num_eq(); \ \ for (int i = 0; i != size; ++i) \ AddOutFloat(); \ \ ATTRIBUTES; \ FLEXT_ADDBANG(0, m_bang); \ } \ \ ~SYSTEM##_msg() \ { \ delete m_system; \ }
Index: henon_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/henon_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** henon_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- henon_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 27,31 ****
class henon: ! protected map_base { public: --- 27,31 ----
class henon: ! public map_base { public:
--- NEW FILE: bungalow_tent_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 "bungalow_tent_map.hpp" #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);
--- NEW FILE: ikeda_laser_map_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 "ikeda_laser_map.hpp" #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);
--- NEW FILE: bungalow_tent_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 "bungalow_tent_map.hpp" #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);
Index: Makefile.am =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Makefile.am 25 Dec 2004 12:50:41 -0000 1.4 --- Makefile.am 27 Dec 2004 14:44:10 -0000 1.5 *************** *** 2,8 ****
BUILT_SOURCES = main.cpp ode_base.cpp chaos_base.cpp chaos_dsp.cpp \ lorenz_dsp.cpp lorenz_msg.cpp \ ! logistic_dsp.cpp logistic_msg.cpp !
CXXFLAGS = @CXXFLAGS@ \ --- 2,17 ----
BUILT_SOURCES = main.cpp ode_base.cpp chaos_base.cpp chaos_dsp.cpp \ + bernoulli_dsp.cpp bernoulli_msg.cpp \ + bungalow_tent_dsp.cpp bungalow_tent_msg.cpp \ + 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_dsp.cpp lorenz_msg.cpp \ ! lozi_map_dsp.cpp lozi_map_msg.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
CXXFLAGS = @CXXFLAGS@ \ *************** *** 38,41 **** --- 47,51 ---- rm -f ./*~ rm -f ./*.@OBJEXT@ + rm ./Makefile
clean-local:
Index: chaos_dsp.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/chaos_dsp.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** chaos_dsp.hpp 25 Dec 2004 12:50:41 -0000 1.4 --- chaos_dsp.hpp 27 Dec 2004 14:44:11 -0000 1.5 *************** *** 76,82 **** int size = m_system->get_num_eq(); \ \ - for (int i = 0; i != size; ++i) \ - AddOutSignal(); \ - \ m_values = new t_float[size]; \ m_slopes = new t_float[size]; \ --- 76,79 ---- *************** *** 85,88 **** --- 82,98 ---- m_curves = new t_float[size]; \ \ + /* create inlets and zero arrays*/ \ + for (int i = 0; i != size; ++i) \ + { \ + AddOutSignal(); \ + m_values[i] = 0; \ + m_slopes[i] = 0; \ + m_nextvalues[i] = 0; \ + m_nextmidpts[i] = 0; \ + m_curves[i] = 0; \ + } \ + \ + \ + \ m_freq = GetAFloat(argv[0]); \ m_method = (char)GetAFloat(argv[1]); \ *************** *** 186,190 ****
! /* linear interpolation adapted from supercollider by James McCartney */ template <class system> void chaos_dsp<system>::m_signal_l(int n, t_sample *const *insigs, --- 196,200 ----
! /* linear and cubic interpolation adapted from supercollider by James McCartney */ template <class system> void chaos_dsp<system>::m_signal_l(int n, t_sample *const *insigs, *************** *** 226,230 ****
- /* linear interpolation adapted from Numerical Recipes In C */ template <class system> void chaos_dsp<system>::m_signal_c(int n, t_sample *const *insigs, --- 236,239 ---- *************** *** 251,255 **** m_values[j] = m_nextmidpts[j]; ! m_nextmidpts[j] = (m_values[j] + value) * 0.5f; float fseglen = (float)phase; --- 260,264 ---- m_values[j] = m_nextmidpts[j]; ! m_nextmidpts[j] = (m_nextvalues[j] + value) * 0.5f; float fseglen = (float)phase;
--- NEW FILE: bernoulli_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 "bernoulli_map.hpp" #include "chaos_msg.hpp"
class bernoulli_msg: public chaos_msg<bernoulli> { CHAOS_MSG_INIT(bernoulli, BERNOULLI_ATTRIBUTES);
BERNOULLI_CALLBACKS; };
FLEXT_LIB_V("bernoulli", bernoulli_msg);
Index: lozi_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/lozi_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** lozi_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- lozi_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 26,34 **** // taken from Willi-Hans Steeb: Chaos and Fractals
! class lozi: ! protected map_base { public: ! lozi() { m_num_eq = 2; --- 26,34 ---- // taken from Willi-Hans Steeb: Chaos and Fractals
! class lozi_map: ! public map_base { public: ! lozi_map() { m_num_eq = 2; *************** *** 40,44 **** }
! ~lozi() { delete m_data; --- 40,44 ---- }
! ~lozi_map() { delete m_data; *************** *** 72,76 ****
! #define LOZI_CALLBACKS \ MAP_CALLBACKS; \ CHAOS_SYS_CALLBACKS(a); \ --- 72,76 ----
! #define LOZI_MAP_CALLBACKS \ MAP_CALLBACKS; \ CHAOS_SYS_CALLBACKS(a); \ *************** *** 79,83 **** CHAOS_SYS_CALLBACKS(y);
! #define LOZI_ATTRIBUTES \ MAP_ATTRIBUTES; \ CHAOS_SYS_ATTRIBUTE(a); \ --- 79,83 ---- CHAOS_SYS_CALLBACKS(y);
! #define LOZI_MAP_ATTRIBUTES \ MAP_ATTRIBUTES; \ CHAOS_SYS_ATTRIBUTE(a); \
--- NEW FILE: tent_map_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 "tent_map.hpp" #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);
Index: bernoulli_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/bernoulli_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** bernoulli_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- bernoulli_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 26,40 ****
class bernoulli: ! protected map_base { public: bernoulli() { ! m_num_eq = 1: m_data = new data_t[1]; ! CHAOS_SYS_INIT(x,0.5) }
! ~Bernoulli() { delete m_data; --- 26,40 ----
class bernoulli: ! public map_base { public: bernoulli() { ! m_num_eq = 1; m_data = new data_t[1]; ! CHAOS_SYS_INIT(x,0.5); }
! ~bernoulli() { delete m_data; *************** *** 44,47 **** --- 44,50 ---- { data_t x = m_data[0]; + + if (x <= 0) + x = 0.00001; //stability
if (x < 0.5f)
--- NEW FILE: lorenz_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 "lorenz.hpp" #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);
--- NEW FILE: standard_map_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 "standard_map.hpp" #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);
Index: ikeda_laser_map.hpp =================================================================== RCS file: /cvsroot/pure-data/externals/chaos/src/ikeda_laser_map.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ikeda_laser_map.hpp 23 Dec 2004 10:07:17 -0000 1.2 --- ikeda_laser_map.hpp 27 Dec 2004 14:44:11 -0000 1.3 *************** *** 32,40 **** // taken from Willi-Hans Steeb: Chaos and Fractals
! class ikeda: ! protected map_base { public: ! ikeda() { m_num_eq = 2; --- 32,40 ---- // taken from Willi-Hans Steeb: Chaos and Fractals
! class ikeda_laser_map: ! public map_base { public: ! ikeda_laser_map() { m_num_eq = 2; *************** *** 48,52 **** }
! ~ikeda() { delete m_data; --- 48,52 ---- }
! ~ikeda_laser_map() { delete m_data; *************** *** 71,83 **** CHAOS_SYSVAR_FUNCS(y, 1); ! CHAOS_PAR_FUNCS(c1); ! CHAOS_PAR_FUNCS(c2); ! CHAOS_PAR_FUNCS(c3); ! CHAOS_PAR_FUNCS(roh);
};
! #define IKEDA_CALLBACKS \ MAP_CALLBACKS; \ CHAOS_SYS_CALLBACKS(c1); \ --- 71,83 ---- CHAOS_SYSVAR_FUNCS(y, 1); ! CHAOS_SYSPAR_FUNCS(c1); ! CHAOS_SYSPAR_FUNCS(c2); ! CHAOS_SYSPAR_FUNCS(c3); ! CHAOS_SYSPAR_FUNCS(roh);
};
! #define IKEDA_LASER_MAP_CALLBACKS \ MAP_CALLBACKS; \ CHAOS_SYS_CALLBACKS(c1); \ *************** *** 88,92 **** CHAOS_SYS_CALLBACKS(y);
! #define IKEDA_ATTRIBUTES \ MAP_ATTRIBUTES; \ CHAOS_SYS_ATTRIBUTE(c1); \ --- 88,92 ---- CHAOS_SYS_CALLBACKS(y);
! #define IKEDA_LASER_MAP_ATTRIBUTES \ MAP_ATTRIBUTES; \ CHAOS_SYS_ATTRIBUTE(c1); \
--- NEW FILE: 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 "logistic_map.hpp" #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);