<div dir="ltr">This patch sometimes crashes PD:<div><br></div><div>[0.0000000000000000000000000000000001 (</div><div>|</div><div>[expr 1/$f1]</div><div>|</div><div>[env~]</div><div>|</div><div>[vd~ buffer 100]</div><div><br>
</div><div>[delwrite~ buffer]</div><div><br></div><div>The output of expr is inf.</div><div>The output of env~ is nan</div><div><br></div><div>vd~ doesn&#39;t always handle nan, and crashes.</div><div><br></div><div>A fix for vd~ can look like this:</div>
<div><br></div><div><div>--- a/pure-data/src/d_delay.c</div><div>+++ b/pure-data/src/d_delay.c</div><div>@@ -271,7 +271,11 @@ static t_int *sigvd_perform(t_int *w)</div><div>     t_sample zerodel = x-&gt;x_zerodel;</div><div>
     while (n--)</div><div>     {</div><div>-        t_sample delsamps = x-&gt;x_sr * *in++ - zerodel, frac;</div><div>+      t_sample inval = *in++;</div><div>+      if(isnan(inval))</div><div>+        inval = 0.0f;</div>
<div>+</div><div>+        t_sample delsamps = x-&gt;x_sr * inval - zerodel, frac;</div></div><div><br></div><div><br></div><div>In Pd, should objects be able to handle (i.e. &quot;not crash&quot;) when they get</div><div>
input values of nan and inf, or should they instead make sure that</div><div>nan and inf never can be sent out of the objects, or both?</div><div><br></div><div><br></div></div>