On Tue, Sep 10, 2013 at 8:40 PM, Claude Heiland-Allen
<[email protected]> 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
[email protected]
http://lists.puredata.info/listinfo/pd-dev

Reply via email to