[PD-cvs] SF.net SVN: pure-data: [10152] trunk/externals/nusmuk/tab

nusmuk at users.sourceforge.net nusmuk at users.sourceforge.net
Wed Jul 9 10:57:15 CEST 2008


Revision: 10152
          http://pure-data.svn.sourceforge.net/pure-data/?rev=10152&view=rev
Author:   nusmuk
Date:     2008-07-09 01:57:15 -0700 (Wed, 09 Jul 2008)

Log Message:
-----------


Modified Paths:
--------------
    trunk/externals/nusmuk/tab/tabread6c~-help.pd
    trunk/externals/nusmuk/tab/tabread6c~.c

Modified: trunk/externals/nusmuk/tab/tabread6c~-help.pd
===================================================================
--- trunk/externals/nusmuk/tab/tabread6c~-help.pd	2008-07-08 17:00:59 UTC (rev 10151)
+++ trunk/externals/nusmuk/tab/tabread6c~-help.pd	2008-07-09 08:57:15 UTC (rev 10152)
@@ -51,8 +51,6 @@
 #X connect 14 0 15 0;
 #X connect 15 0 16 0;
 #X connect 15 0 17 0;
-#X connect 16 0 18 0;
-#X connect 17 0 18 1;
 #X connect 19 0 10 0;
 #X connect 20 0 21 0;
 #X connect 21 0 19 0;

Modified: trunk/externals/nusmuk/tab/tabread6c~.c
===================================================================
--- trunk/externals/nusmuk/tab/tabread6c~.c	2008-07-08 17:00:59 UTC (rev 10151)
+++ trunk/externals/nusmuk/tab/tabread6c~.c	2008-07-09 08:57:15 UTC (rev 10152)
@@ -113,7 +113,7 @@
 		f = wp[3].w_float;
 // CH
 
-	a0 = c;
+/*	a0 = c;
 	a1 = ( 1./12.)*a - ( 2./3. )*b               + ( 2./3. )*d - ( 1./12.)*e;
 	a2 = (-1./24.)*a + ( 2./3. )*b - ( 5./4. )*c + ( 2./3. )*d - ( 1./24.)*e;
 	a3 = (-3./8. )*a + (13./8. )*b - (35./12.)*c + (11./4. )*d - (11./8. )*e + ( 7./24.)*f;
@@ -121,6 +121,23 @@
 	a5 = (-5./24.)*a + (25./24.)*b - (25./12.)*c + (25./12.)*d - (25./24.)*e + ( 5./24.)*f;
 
 	*out++ =  ((((a5 * frac + a4 ) * frac + a3) * frac + a2) * frac + a1) * frac + a0;
+*/
+// same but optimized :
+
+	t_sample a3plusa4plusa5 = 0.25f*c+0.125f*e-(1./3.)*d-(1./24.)*a;
+	t_sample fminusa = f-a;
+	t_sample eminusb = e-b;
+	t_sample dminusc = d-c;
+
+	a5 = (5./24.)*((fminusa-5.f*eminusb+10.f*dminusc));
+	a4 = (8./3.)*eminusb-0.5f*fminusa-5.5f*dminusc-a3plusa4plusa5;
+	a3 = a3plusa4plusa5-a4-a5;
+	a2 = (2./3.)*(d+b)-(1./24.)*(a+e)-1.25f*c;
+	a1 = (2./3.)*(d-b)+(1./12.)*(a-e);
+	a0 = c;
+
+	*out++ =  ((((a5 * frac + a4 ) * frac + a3) * frac + a2) * frac + a1)
+* frac + a0;
      
     }
     return (w+5);


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Pd-cvs mailing list