THanks all for this... I went ahead and patched it (Claude's way, but with an explanatory comment :)
On Wed, Sep 11, 2013 at 08:53:12PM +0200, Kjetil Matheussen wrote: > On Tue, Sep 10, 2013 at 8:40 PM, Claude Heiland-Allen > <cla...@mathr.co.uk> wrote: > > Hi Kjetil, > > > > In my own code I tend to exploit the incomparibility of NaN. > > > > Instead of: > > > > if (x < lo) x = lo; > > if (x > hi) x = hi; > > > > I write: > > > > if (! (x >= lo)) x = lo; > > if (! (x <= hi)) x = hi; > > > > As any comparison with NaN gives false, the first version will pass NaN > > through unchanged, but the second version will replace NaN with lo. > > Behaviour with finite values and +/-Infinity should remain the same as > > the first version. > > > > Hi Claude, > > That is a nice solution, but is > > " > if (! (x >= lo)) x = lo; > if (! (x <= hi)) x = hi; > " > > reallly faster than > > " > if(!isfinite(x)) > x = 0.0f; > if (x < lo) x = lo; > if (x > hi) x = hi; > " > > ? > > If not, the second option is much clearer. > > _______________________________________________ > Pd-dev mailing list > Pd-dev@iem.at > http://lists.puredata.info/listinfo/pd-dev _______________________________________________ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev