diff options
Diffstat (limited to 'lib/Math')
-rw-r--r-- | lib/Math/Complex.pm | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/Math/Complex.pm b/lib/Math/Complex.pm index af2b2a0567..ece2aad06c 100644 --- a/lib/Math/Complex.pm +++ b/lib/Math/Complex.pm @@ -12,10 +12,13 @@ $VERSION = "1.30"; our($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $Inf); BEGIN { - 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 + unless ($^O eq 'unicosmk') { + my $e = $!; + # We do want an arithmetic overflow. + eval '$Inf = CORE::exp(CORE::exp(30))'; + $! = $e; # Clear ERANGE. + undef $Inf unless $Inf =~ /^inf(?:inity)?$/i; # Inf INF inf Infinity + } $Inf = "Inf" if !defined $Inf || !($Inf > 0); # Desperation. } |