This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Math-Complex: netbsd-vax: no inf
[perl5.git] / cpan / Math-Complex / t / Complex.t
index 687d622..9833131 100644 (file)
@@ -6,18 +6,10 @@
 # -- Jarkko Hietaniemi since Mar 1997
 # -- Daniel S. Lewart  since Sep 1997
 
-BEGIN {
-    if ($ENV{PERL_CORE}) {
-       chdir 't' if -d 't';
-       #@INC = '../lib';
-    }
-}
-
 use Math::Complex 1.54;
 
-use vars qw($VERSION);
-
-$VERSION = 1.92;
+our $vax_float = (pack("d",1) =~ /^[\x80\x10]\x40/);
+our $has_inf   = !$vax_float;
 
 my ($args, $op, $target, $test, $test_set, $try, $val, $zvalue, @set, @val);
 
@@ -34,6 +26,15 @@ if ($^O eq 'unicos') {       # For some reason root() produces very inaccurate
 }                      # cos(), sin(), cosh(), sinh().  The division
                        # of doubles is the current suspect.
 
+$test++;
+push @script, "{ my \$t=$test; ".q{
+    my $a = Math::Complex->new(1);
+    my $b = $a;
+    $a += 2;
+    print "not " unless "$a" eq "3" && "$b" eq "1";
+    print "ok $t\n";
+}."}";
+
 while (<DATA>) {
        s/^\s+//;
        next if $_ eq '' || /^\#/;
@@ -117,9 +118,14 @@ my $pii  = cplx(0, pi);
 my $pip2 = cplx(pi/2, 0);
 my $pip4 = cplx(pi/4, 0);
 my $zero = cplx(0, 0);
-my $inf  = 9**9**9;
 ';
 
+if ($has_inf) {
+    $constants .= <<'EOF';
+my $inf  = 9**9**9;
+EOF
+}
+
 push(@script, $constants);
 
 
@@ -287,6 +293,15 @@ EOS
     print "not " unless "\$j" =~ /^\\[1,2\\.09439510\\d+\\]\$/;
     print "ok $test\n";
 
+    \$j->display_format('style' => 'polar', 'format' => "%.4g");
+EOS
+
+    $test++;
+    push @script, <<EOS;
+    print "# j = \$j\n";
+    print "not " unless "\$j" =~ /^\\[1,2\\.094\\]\$/;
+    print "ok $test\n";
+
     \$j->display_format('style' => 'cartesian', 'format' => '(%.5g)');
 EOS
 
@@ -698,6 +713,7 @@ __END__
 [1, pi/3]:"[1,pi/3]"
 [6, -2*pi/3]:"[6,-2pi/3]"
 [0.5, -9*pi/11]:"[0.5,-9pi/11]"
+[1, 0.5]:"[1, 0.5]"
 
 { (4,3); [3,2]; (-3,4); (0,2); [2,1] }