our($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $Inf);
BEGIN {
- eval { require POSIX; import POSIX 'HUGE_VAL' };
- if (exists &HUGE_VAL) {
- $Inf = sprintf "%g", &HUGE_VAL;
- } else {
- my $e = $!;
- $Inf = CORE::exp(CORE::exp(30));
- $! = $e; # Clear ERANGE.
- }
+ my $e = $!;
+ $Inf = CORE::exp(CORE::exp(30)); # We do want an arithmetic overflow.
+ $! = $e; # Clear ERANGE.
undef $Inf unless $Inf =~ /^inf(?:inity)?$/i; # Inf INF inf Infinity
$Inf = "Inf" if !defined $Inf || !($Inf > 0); # Desperation.
}