Data-Float
view release on metacpan or search on metacpan
lib/Data/Float.pm view on Meta::CPAN
if($have_infinite) {
_mk_constant("pos_infinity", $pos_infinity = $testval);
_mk_constant("neg_infinity", $neg_infinity = -$testval);
}
}
my $max_number = $have_infinite ? $pos_infinity : $max_finite;
_mk_constant("max_number", $max_number);
my($have_nan, $nan);
foreach my $nan_formula (
'$have_infinite && $pos_infinity/$pos_infinity',
'log(-1.0)',
'0.0/0.0',
'"nan"') {
my $maybe_nan =
eval 'local $SIG{__DIE__}; local $SIG{__WARN__} = sub { }; '.
$nan_formula;
if(do { local $SIG{__WARN__} = sub { }; $maybe_nan != $maybe_nan }) {
$have_nan = 1;
$nan = $maybe_nan;
_mk_constant("nan", $nan);
last;
}
}
_mk_constant("have_nan", $have_nan);
# The rest of the code is parsed after the constants have been calculated
( run in 0.309 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )