summaryrefslogtreecommitdiff
path: root/lib/Math
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Math')
-rw-r--r--lib/Math/Complex.pm11
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.
}