[PD-cvs] externals/tbext/source him.cpp,1.2,1.3

Tim Blechmann timblech at users.sourceforge.net
Fri Apr 9 15:42:03 CEST 2004


Update of /cvsroot/pure-data/externals/tbext/source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24408/source

Modified Files:
	him.cpp 
Log Message:
some updates


Index: him.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/tbext/source/him.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** him.cpp	31 Mar 2004 11:44:38 -0000	1.2
--- him.cpp	9 Apr 2004 13:42:01 -0000	1.3
***************
*** 72,76 ****
      void set_dt(t_float);
      void set_regtime(bool);
-     void set_output(t_int);
      void state();
      void reset();
--- 72,75 ----
***************
*** 93,97 ****
      //and these our settings
      t_float dt;
-     t_int output;   //mu, muv, nu, nuv, x, y 
      bool regtime; //if true "regularisierte zeit"
  
--- 92,95 ----
***************
*** 104,108 ****
      FLEXT_CALLBACK_1(set_dt,t_float);
      FLEXT_CALLBACK_1(set_regtime,bool);
-     FLEXT_CALLBACK_1(set_output,t_int);
      FLEXT_CALLBACK(state);
      FLEXT_CALLBACK(reset);
--- 102,105 ----
***************
*** 136,139 ****
--- 133,141 ----
      AddInAnything();
      AddOutSignal();
+     AddOutSignal();
+     AddOutSignal();
+     AddOutSignal();
+     AddOutSignal();
+     AddOutSignal();
      FLEXT_ADDMETHOD_F(0,"mu",set_mu);
      FLEXT_ADDMETHOD_F(0,"muv",set_muv);
***************
*** 143,147 ****
      FLEXT_ADDMETHOD_F(0,"dt",set_dt);
      FLEXT_ADDMETHOD_B(0,"regtime",set_regtime);
-     FLEXT_ADDMETHOD_I(0,"output",set_output);
      FLEXT_ADDMETHOD_(0,"state",state);
      FLEXT_ADDMETHOD_(0,"reset",reset);
--- 145,148 ----
***************
*** 160,164 ****
      //default mode
      regtime=true;
-     output=0;
      dt=0.01;
  } 
--- 161,164 ----
***************
*** 200,205 ****
  	    data[i] = data[i] + (k1[i] + (2.*(k2[i]+k3[i])) + k4[i])/6.;
          }
!     
!     reset_muv();
      
  }
--- 200,215 ----
  	    data[i] = data[i] + (k1[i] + (2.*(k2[i]+k3[i])) + k4[i])/6.;
          }
! 
!  
!     /*
!       the system might become unstable ... in this case, we'll reset the system
!     */    
! 
!     for(i=0;i<=NUMB_EQ-1;i++)
! 	if(data[i]>2)
! 	    reset();
! 	else
! 	    if(PD_BADFLOAT(data[i])) //not that we get some troubles with denormals
! 		data[i]=0;
      
  }
***************
*** 209,324 ****
  void him::m_signal(int n, t_float *const *in, t_float *const *out)
  {
-     outs = out[0];
-     
      if (regtime)
  	{
! 	    switch (output)
  		{
! 		case 0:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			runge_kutta_4(dt);
! 			*(outs+j)=data[0];
! 			}
! 		    break;
! 		    
! 		case 1:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			    runge_kutta_4(dt);
! 			    *(outs+j)=data[1];
! 			}
! 		    break;
! 		    
! 		case 2:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			runge_kutta_4(dt);
! 			*(outs+j)=data[2];
! 			}
! 		    break;
! 		
! 		case 3:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			    runge_kutta_4(dt);
! 			    *(outs+j)=data[3];
! 			}
! 		    break;
! 		    
! 		case 4:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			    runge_kutta_4(dt);
! 			    *(outs+j)=data[0]*data[2];
! 			}
! 		    break;
! 		    
! 		case 5:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			    runge_kutta_4(dt);
! 			    *(outs+j)=(data[0]*data[0]-data[2]*data[2])*0.5;
! 			}
! 		    break;
  		}
  	}
      else
  	{
! 	    switch (output)
! 		{	    
! 		case 0:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			    runge_kutta_4(dt/
! 					  (2*sqrt(data[0]*data[0]+data[2]*data[2])));
! 			    *(outs+j)=data[0];
! 			}
! 		    break;
! 		    
! 		case 1:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			    runge_kutta_4(dt/
! 					  (2*sqrt(data[0]*data[0]+data[2]*data[2])));
! 			    *(outs+j)=data[1];
! 			}
! 		    break;
! 		    
! 		case 2:
! 		    for (int j=0;j!=n;++j)
! 		    {
! 			runge_kutta_4(dt/
! 				      (2*sqrt(data[0]*data[0]+data[2]*data[2])));
! 			*(outs+j)=data[2];
! 		    }
! 		    break;
! 		    
! 		case 3:
! 		    for (int j=0;j!=n;++j)
! 		    {
! 			runge_kutta_4(dt/
! 				      (2*sqrt(data[0]*data[0]+data[2]*data[2])));
! 			*(outs+j)=data[3];
! 		    }
! 		    break;
! 		    
! 		case 4:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			    runge_kutta_4(dt/
! 					  (2*sqrt(data[0]*data[0]+data[2]*data[2])));
! 			    *(outs+j)=data[0]*data[2];
! 			}
! 		break;
! 		
! 		case 5:
! 		    for (int j=0;j!=n;++j)
! 			{
! 			    runge_kutta_4(dt/
! 					  (2*sqrt(data[0]*data[0]+data[2]*data[2])));
! 			    *(outs+j)=(data[0]*data[0]-data[2]*data[2])*0.5;
! 			}
! 		    break;
  		}
  	}
--- 219,247 ----
  void him::m_signal(int n, t_float *const *in, t_float *const *out)
  {
      if (regtime)
  	{
! 	    for (int j=0;j!=n;++j)
  		{
! 		    runge_kutta_4(dt);
! 		    *(out[0]+j)=data[0];
! 		    *(out[1]+j)=data[1];
! 		    *(out[2]+j)=data[2];
! 		    *(out[3]+j)=data[3];
! 		    *(out[4]+j)=data[0]*data[2];
! 		    *(out[5]+j)=(data[0]*data[0]-data[2]*data[2])*0.5;
  		}
  	}
      else
  	{
! 	    for (int j=0;j!=n;++j)
! 		{
! 		    runge_kutta_4(dt/
! 				  (2*sqrt(data[0]*data[0]+data[2]*data[2])));
! 		    *(out[0]+j)=data[0];
! 		    *(out[1]+j)=data[1];
! 		    *(out[2]+j)=data[2];
! 		    *(out[3]+j)=data[3];
! 		    *(out[4]+j)=data[0]*data[2];
! 		    *(out[5]+j)=(data[0]*data[0]-data[2]*data[2])*0.5;
  		}
  	}
***************
*** 366,373 ****
  }
  
- void him::set_output(t_int i)
- {
-     output=i;
- }
  
  void him::state()
--- 289,292 ----
***************
*** 385,389 ****
      data[1]=float(rand())/float(RAND_MAX);
      data[2]=float(rand())/float(RAND_MAX);
!     reset_muv();
      post("randomizing values");
  }
--- 304,308 ----
      data[1]=float(rand())/float(RAND_MAX);
      data[2]=float(rand())/float(RAND_MAX);
!     reset_nuv();
      post("randomizing values");
  }





More information about the Pd-cvs mailing list