diff options
-rw-r--r-- | send13~.c | 12 | ||||
-rw-r--r-- | throw13~.c | 9 |
2 files changed, 20 insertions, 1 deletions
@@ -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); } @@ -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); } |