On Wed, Oct 29, 2008 at 2:03 PM, Martin Peach <[EMAIL PROTECTED]> wrote: > > In the perform routine of sqosc~, I used: > if (finite(sample))*out++ = sample; > else *out++ = 0.0; > to get rid of denormals. > > For MSW builds that required adding: > #include <float.h> /* for _finite */ > #define finite _finite > > Seems like the simplest solution to me...
It might be simplest, but it's very inefficient. Consider if all pd objects had to check every sample to see that it's a number.... NaN and inf should be fairly rare occurrences. No sense adding more instructions to cover the mere possibility of something going wrong--an interrupt/signal based solution would add less cost to the program, if it's possible. But where would such a signal handler be declared (my guess is m_pd.h)? Would everything need to be compiled with the added flag(s) (my guess is yes)? Would there be variations across platforms (no clue here)? Chuck _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
