Switching away from isNaN() in Feathers improved performance in a
measurable way. It wasn't just a guess.

- Josh

On Aug 2, 2017 11:53 PM, "Harbs" <harbs.li...@gmail.com> wrote:

Ah. Thanks. (I haven’t had my coffee yet) ;-)

It would be interesting to know if that really is more efficient.

> On Aug 3, 2017, at 9:33 AM, Greg Dove <greg.d...@gmail.com> wrote:
>
> I assume it is if (unknownNumOrNaN != unknownNumOrNaN )
>
> I have used things like if (unknownNumOrNaN *0 !=0) in the past but the
> above seems better
>
>
> On Thu, Aug 3, 2017 at 6:20 PM, Harbs <harbs.li...@gmail.com> wrote:
>
>> I’m curious. How does that work?
>> unknownNumOrNaN != NaN will always be true
>>
>>> On Aug 3, 2017, at 1:37 AM, Josh Tynjala <joshtynj...@gmail.com> wrote:
>>>
>>> Good one! To avoid the overhead of the isNaN() function call, I
>> frequently
>>> rely on the fact that NaN != NaN.
>>>
>>> - Josh
>>>
>>> On Wed, Aug 2, 2017 at 3:32 PM, Harbs <harbs.li...@gmail.com> wrote:
>>>
>>>> Thanks for the history lesson. :-)
>>>>
>>>> This does bring up another difference between an initialized value of
>> NaN
>>>> and undefined:
>>>>
>>>> NaN != NaN, while undefined == undefined
>>>>
>>>>> On Aug 3, 2017, at 1:00 AM, Dave Fisher <dave2w...@comcast.net> wrote:
>>>>>
>>>>> I hate this Macbook’s touch top bar which puts a send button directly
>>>> above the delete key.
>>>>>
>>>>>> On Aug 2, 2017, at 2:50 PM, Dave Fisher <dave2w...@comcast.net>
>> wrote:
>>>>>>
>>>>>> Hi Folks,
>>>>>>
>>>>>> A peanut gallery look at NaN which is really a bit encoding for
>> various
>>>> kinds of floating point number errors like underflow, overflow, divided
>> by
>>>> 0, etc. In my Fortran past life we used XMISS as a special valu
>>>>>
>>>>> Value. Essentially undefined.
>>>>>
>>>>> IEEE had very particular definitions and Apple published a book about
>>>> SANE.
>>>>>
>>>>> At any rate what you guys are observing is by design: NaN always
>> results
>>>> in false in any comparison. And it is a number. But it is not a number
>> in
>>>> floating point so much as it is an error condition.
>>>>>
>>>>> https://stackoverflow.com/questions/1565164/what-is-the-
>>>> rationale-for-all-comparisons-returning-false-for-ieee754-nan-values
>>>>>
>>>>> https://people.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF
>>>>>
>>>>> My father complained about when the IBM 360 came out in the early
>> 1960’s
>>>> he had to go to doubles because the IBM architecture went from 6 - 6
bit
>>>> words for a single to 4 - 8 bit words. The practical result was twice
as
>>>> much magnetic tape both length and number of reals.
>>>>>
>>>>> Regards,
>>>>> Dave
>>>>>
>>>>>>
>>>>>>> On Aug 1, 2017, at 3:21 PM, Greg Dove <greg.d...@gmail.com> wrote:
>>>>>>>
>>>>>>> Yes it does. NaN is an 'instance' of the Number type (even though it
>> is
>>>>>>> 'Not a Number' ;)  )
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Aug 2, 2017 at 10:18 AM, Harbs <harbs.li...@gmail.com>
>> wrote:
>>>>>>>
>>>>>>>> Interesting.
>>>>>>>>
>>>>>>>> I’m not sure that I realized that NaN passes that test. Does it?
>>>>>>>>
>>>>>>>>> On Aug 2, 2017, at 1:12 AM, Greg Dove <greg.d...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> I agree undefined works the same as NaN for many things for
>> example,
>>>> but
>>>>>>>> it
>>>>>>>>> fails on very basic things like if (x is Number)
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>
>>

Reply via email to