This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix for the fa_IR locale failure. The reason for the failure
[perl5.git] / t / op / arith.t
CommitLineData
54310121
PP
1#!./perl
2
d658dc55 3print "1..12\n";
54310121
PP
4
5sub try ($$) {
6 print +($_[1] ? "ok" : "not ok"), " $_[0]\n";
7}
8
9try 1, 13 % 4 == 1;
10try 2, -13 % 4 == 3;
11try 3, 13 % -4 == -3;
12try 4, -13 % -4 == -1;
65843c0f
JH
13
14my $limit = 1e6;
15
16# Division (and modulo) of floating point numbers
17# seem to be rather sloppy in Cray.
18$limit = 1e8 if $^O eq 'unicos';
19
20try 5, abs( 13e21 % 4e21 - 1e21) < $limit;
21try 6, abs(-13e21 % 4e21 - 3e21) < $limit;
22try 7, abs( 13e21 % -4e21 - -3e21) < $limit;
23try 8, abs(-13e21 % -4e21 - -1e21) < $limit;
d658dc55
GS
24
25# UVs should behave properly
26
27try 9, 4063328477 % 65535 == 27407;
28try 10, 4063328477 % 4063328476 == 1;
29try 11, 4063328477 % 2031664238 == 1;
30try 12, 2031664238 % 4063328477 == 2031664238;