From: Andy Lester Date: Wed, 23 Jul 2003 16:38:35 +0000 (-0500) Subject: PATCH: More edge tests on t/op/pow.t X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=1d296f1cbe6353bca53c99095d0fa4c3d9dcc0fb;p=p5sagit%2Fp5-mst-13.2.git PATCH: More edge tests on t/op/pow.t Message-ID: <20030723213834.GA20468@petdance.com> p4raw-id: //depot/perl@20201 --- diff --git a/t/op/pow.t b/t/op/pow.t index 4342b13..9dd7780 100644 --- a/t/op/pow.t +++ b/t/op/pow.t @@ -22,11 +22,28 @@ my @pow = ([3,30,1e-14], my $tests; $tests += $_->[1] foreach @pow; -plan tests => 2 + $bits_in_uv + $tests; +plan tests => 13 + $bits_in_uv + $tests; -# This gave positive 27 before change #20167 +# (-3)**3 gave 27 instead of -27 before change #20167. +# Let's test the other similar edge cases, too. +is((-3)**0, 1, "negative ** 0 = 1"); +is((-3)**1, -3, "negative ** 1 = self"); +is((-3)**2, 9, "negative ** 2 = positive"); is((-3)**3, -27, "(negative int) ** (odd power) is negative"); +# Positives shouldn't be a problem +is(3**0, 1, "positive ** 0 = 1"); +is(3**1, 3, "positive ** 1 = self"); +is(3**2, 9, "positive ** 2 = positive"); +is(3**3, 27, "(positive int) ** (odd power) is positive"); + +# And test order of operations while we're at it +is(-3**0, -1); +is(-3**1, -3); +is(-3**2, -9); +is(-3**3, -27); + + # Ought to be 32, 64, 36 or something like that. my $remainder = $bits_in_uv & 3;