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.