Revision: 10107 http://pure-data.svn.sourceforge.net/pure-data/?rev=10107&view=rev Author: nusmuk Date: 2008-06-26 08:50:10 -0700 (Thu, 26 Jun 2008)
Log Message: -----------
Modified Paths: -------------- trunk/externals/nusmuk/tab/makefile trunk/externals/nusmuk/tab/tabosc4c~.c
Modified: trunk/externals/nusmuk/tab/makefile =================================================================== --- trunk/externals/nusmuk/tab/makefile 2008-06-26 12:00:59 UTC (rev 10106) +++ trunk/externals/nusmuk/tab/makefile 2008-06-26 15:50:10 UTC (rev 10107) @@ -57,7 +57,7 @@
# ----------------------- LINUX i386 -----------------------
-pd_linux: tabosc4c~.pd_linux tabread4c~.pd_linux tabosc4cloop~.pd_linux tabosc4h~.pd_linux +pd_linux: tabosc4c~.pd_linux tabread4c~.pd_linux tabosc4cloop~.pd_linux tabosc4h~.pd_linux tabosc4l~.pd_linux tabosc4aa~.pd_linux
.SUFFIXES: .pd_linux
Modified: trunk/externals/nusmuk/tab/tabosc4c~.c =================================================================== --- trunk/externals/nusmuk/tab/tabosc4c~.c 2008-06-26 12:00:59 UTC (rev 10106) +++ trunk/externals/nusmuk/tab/tabosc4c~.c 2008-06-26 15:50:10 UTC (rev 10107) @@ -126,7 +126,7 @@ int n = (int)(w[4]); int normhipart; union tabfudge tf; - double a0,a1,a2; // CH + double a3,a1,a2; // CH t_float fnpoints = x->x_fnpoints; int mask = fnpoints - 1; t_float conv = fnpoints * x->x_conv; @@ -157,10 +157,17 @@ // cminusb - 0.1666667f * (1.-frac) * ( // (d - a - 3.0f * cminusb) * frac + (d + 2.0f*a - 3.0f*b) ) ); // CH - a0 = d - c - a + b; - a1 = a - b - a0; - a2 = c - a; - *out++ = ((a0*frac+a1)*frac+a2)*frac+b; +// a0 = d - c - a + b; +// a1 = a - b - a0; +// a2 = c - a; +// *out++ = ((a0*frac+a1)*frac+a2)*frac+b; + + // 4-point, 3rd-order Hermite (x-form) + a1 = 0.5f * (c - a); + a2 = a - 2.5 * b + 2.f * c - 0.5f * d; + a3 = 0.5f * (d - a) + 1.5f * (b - c); + + *out++ = ((a3 * frac + a2) * frac + a1) * frac + b; } #endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.