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.871 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )