[PD-cvs] SF.net SVN: pure-data: [10107] trunk/externals/nusmuk/tab
nusmuk at users.sourceforge.net
nusmuk at users.sourceforge.net
Thu Jun 26 17:50:12 CEST 2008
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.
More information about the Pd-cvs
mailing list