pp_ncmp: favour the non- Perl_isnan route
Currently pp_ncmp(), when comparing two NVs, prefers to check its two args
for NaNness first, and if either of them are, then return undef. Only if
Perl_isnan isn't defined does it fall back to doing three compares (<, >,
=) where if all three fail it returns undef.
This is in contrast to the other compare functions (e.g. pp_lt), which
only use Perl_isnan if NAN_COMPARE_BROKEN is defined - i.e. they prefer to
rely on the '<' (or whatever) test to handle NaNs implicitly.
Change pp_ncmp to favour not using Perl_isnan(). This has two advantages:
First, speed: in the normal case we replace:
two function calls to Perl_isnan plus two comparisons,
with:
three comparisons.
Second, this makes pp_ncmp more similar to the other comparison functions,
allowing for code reuse in the future.