Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

better test labels #21

Merged
merged 1 commit into from May 27, 2012
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
26 changes: 13 additions & 13 deletions S03-operators/overflow.t
Expand Up @@ -148,9 +148,9 @@ sub tryeq_sloppy ($lhs, $rhs, $todo1 = '') {
}

{
is 2147483648 - 0, 2147483648, '2147483648 = 2147483648';
is -2147483648 - 0, -2147483648, '-2147483648 = -2147483648';
is 2000000000 - 4000000000, -2000000000, '-2000000000 = -2000000000';
is 2147483648 - 0, 2147483648, '2147483648 - 0 == 2147483648';
is -2147483648 - 0, -2147483648, '-2147483648 - 0 == -2147483648';
is 2000000000 - 4000000000, -2000000000, '2000000000 - 4000000000 == -2000000000';
}

# Believe it or not, this one overflows on 32-bit Rakduo as of 3/8/2010.
Expand All @@ -170,26 +170,26 @@ sub tryeq_sloppy ($lhs, $rhs, $todo1 = '') {
# On a 32 bit machine, if the i_multiply op is used, you will probably get
# -167772160. It's actually undefined behaviour, so anything may happen.
my $int = ($n % 1000) * 167772160;
is $int, 21307064320, "$int = 21307064320";
is $int, 21307064320, '(1127 % 1000) * 167772160 == 21307064320';

}

{
is -1 - -2147483648, 2147483647, '2147483647 = 2147483647';
is 2 - -2147483648, 2147483650, '2147483650 = 2147483650';
is -1 - -2147483648, 2147483647, '-1 - -2147483648 == 2147483647';
is 2 - -2147483648, 2147483650, '2 - -2147483648 == 2147483650';

is 4294967294 - 3, 4294967291, '4294967291 = 4294967291';
is -2147483648 - -1, -2147483647, '-2147483647 = -2147483647';
is 4294967294 - 3, 4294967291, '4294967294 - 3 == 4294967291';
is -2147483648 - -1, -2147483647, '-2147483648 - -1 == -2147483647';

# IV - IV promote to UV
is 2147483647 - -1, 2147483648, '2147483648 = 2147483648';
is 2147483647 - -2147483648, 4294967295, '4294967295 = 4294967295';
is 2147483647 - -1, 2147483648, '2147483647 - -1 == 2147483648';
is 2147483647 - -2147483648, 4294967295, '2147483647 - -2147483648 == 4294967295';
# UV - IV promote to NV
is 4294967294 - -3, 4294967297, '4294967297 = 4294967297';
is 4294967294 - -3, 4294967297, '4294967294 - -3 == 4294967297';
# IV - IV promote to NV
is -2147483648 - +1, -2147483649, '-2147483649 = -2147483649';
is -2147483648 - +1, -2147483649, '-2147483648 - +1 == -2147483649';
# UV - UV promote to IV
is 2147483648 - 2147483650, -2, '-2 = -2';
is 2147483648 - 2147483650, -2, '2147483648 - 2147483650 == -2';
}

# check with 0xFFFF and 0xFFFF
Expand Down