Re: [PD] freeverb crashes on new computer

2011-09-07 Thread Mathieu Bouchard

On Tue, 6 Sep 2011, ronni montoya wrote:


Hi, im trying to run old patches on my new computer  but freeverb~
always crashes , from time to time it stop doing sound and i get nan
if i conect an env~ object after it.


AFAIK, if you get nan out of [env~], it's because there's at least one nan 
per window in the output of [freeverb~]... you can use [print~] for 
greater detail, so that you can figure out the difference between « there 
is one nan every n sample » or « every sample is nan » for a more official 
bug report.



Do anybody have an idea why is this behaivor and how to solve it?


nan is often due to trying to do 0/0 or log(-1) or other out-of-range 
things. (some other out-of-range operations yield +inf or -inf instead, it 
depends)


Actually... is [clip~ -1 1] really able to get rid of nan ? can you check 
that your input of freeverb never has any nan ? I think that in theory, 
[clip~] knows how to get rid of +inf and -inf, but doesn't know what to do 
with nan.


If not, then someone has to be reading the freeverb source and look for 
such possible mistakes.


 ___
| Mathieu Bouchard  tél: +1.514.383.3801  Villeray, Montréal, QC
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] freeverb crashes on new computer

2011-09-07 Thread Claude Heiland-Allen

On 07/09/11 15:23, Mathieu Bouchard wrote:

On Tue, 6 Sep 2011, ronni montoya wrote:

Do anybody have an idea why is this behaivor and how to solve it?


nan is often due to trying to do 0/0 or log(-1) or other out-of-range
things.


Probably inf - inf or 0 * inf are NaN, I haven't checked the specs.


(some other out-of-range operations yield +inf or -inf instead,
it depends)

Actually... is [clip~ -1 1] really able to get rid of nan ?


No, because NaN compares always result in false:

http://pure-data.git.sourceforge.net/git/gitweb.cgi?p=pure-data/pure-data;a=blob;f=src/d_math.c;h=f76bffef18607334a67b147fc498b7513dd6372b;hb=HEAD#l42

Workaround/fix might be:

if (!(f  x-lo)) f = x-lo;
if (!(f  x-hi)) f = x-hi;

But this might all be screwed up depending on how Pd and/or freeverb is 
compiled, I know some inf/nan things can behave even more strangely with 
-ffast-math (for example, Pd .git has no mention of it as far as I can 
tell).



Claude

___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list