This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
 author SADAHIRO Tomoyuki Tue, 9 Jan 2007 23:39:42 +0000 (08:39 +0900) committer Rafael Garcia-Suarez Wed, 10 Jan 2007 13:17:37 +0000 (13:17 +0000)
Message-Id: <20070109233928.07AF.BQW10602@nifty.com>

plus nits by Dominic Dunlop

p4raw-id: //depot/perl@29744

 pod/perlop.pod patch | blob | blame | history

index cf36bf2..46af19b 100644 (file)
@@ -266,8 +266,16 @@ C<\$a> minus the largest multiple of C<\$b> that is not greater than
C<\$a>.  If C<\$b> is negative, then C<\$a % \$b> is C<\$a> minus the
smallest multiple of C<\$b> that is not less than C<\$a> (i.e. the
result will be less than or equal to zero).  If the operands
C<\$a>.  If C<\$b> is negative, then C<\$a % \$b> is C<\$a> minus the
smallest multiple of C<\$b> that is not less than C<\$a> (i.e. the
result will be less than or equal to zero).  If the operands
-C<\$a> and C<\$b> are floting point values, only the integer portion
-of C<\$a> and C<\$b> will be used in the operation.
+C<\$a> and C<\$b> are floating point values and the absolute value of
+C<\$b> (that is C<abs(\$b)>) is less than C<(UV_MAX + 1)>, only
+the integer portion of C<\$a> and C<\$b> will be used in the operation
+(Note: here C<UV_MAX> means the maximum of the unsigned integer type).
+If the absolute value of the right operand (C<abs(\$b)>) is greater than
+or equal to C<(UV_MAX + 1)>, "%" computes the floating-point remainder
+C<\$r> in the equation C<(\$r = \$a - \$i*\$b)> where C<\$i> is a certain
+integer that makes C<\$r> should have the same sign as the right operand
+C<\$b> (B<not> as the left operand C<\$a> like C function C<fmod()>)
+and the absolute value less than that of C<\$b>.
Note that when C<use integer> is in scope, "%" gives you direct access
to the modulus operator as implemented by your C compiler.  This
operator is not as well defined for negative operands, but it will
Note that when C<use integer> is in scope, "%" gives you direct access
to the modulus operator as implemented by your C compiler.  This
operator is not as well defined for negative operands, but it will