aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--send13~.c12
-rw-r--r--throw13~.c9
2 files changed, 20 insertions, 1 deletions
diff --git a/send13~.c b/send13~.c
index 4245b2d..3cfb204 100644
--- a/send13~.c
+++ b/send13~.c
@@ -27,7 +27,17 @@
t_float *in = (t_float *)(w[1]);
t_float *out = (t_float *)(w[2]);
int n = (int)(w[3]);
- while (n--) *out++ = *in++;
+ while (n--)
+ {
+ /* TB: denormal handling in pd >0.37-2 */
+#ifdef PD_BIGORSMALL
+ *out = (PD_BIGORSMALL(*in) ? 0 : *in);
+ out++;
+ in++;
+#else
+ *out++ = *in++;
+#endif
+ };
return (w+4);
}
diff --git a/throw13~.c b/throw13~.c
index 347953e..c992d81 100644
--- a/throw13~.c
+++ b/throw13~.c
@@ -30,7 +30,16 @@
if (out)
{
while (n--)
+ {
+ /* TB: denormal handling in pd >0.37-2 */
+#ifdef PD_BIGORSMALL
+ *out += (PD_BIGORSMALL(*in) ? 0 : *in);
+ out++;
+ in++;
+#else
*out++ += *in++;
+#endif
+ }
}
return (w+4);
}