Author: colomon
Date: 2010-06-07 14:09:36 +0200 (Mon, 07 Jun 2010)
New Revision: 31159
Modified:
docs/Perl6/Spec/S03-operators.pod
Log:
[spec] Change div and mod to be operators on integer types.
Modified: docs/Perl6/Spec/S03-operators.pod
===
--- docs/Perl6/Spec/S03-operators.pod 2010-06-07 08:27:52 UTC (rev 31158)
+++ docs/Perl6/Spec/S03-operators.pod 2010-06-07 12:09:36 UTC (rev 31159)
@@ -15,8 +15,8 @@
Created: 8 Mar 2004
-Last Modified: 2 Jun 2010
-Version: 207
+Last Modified: 7 Jun 2010
+Version: 208
=head1 Overview
@@ -748,12 +748,12 @@
=item *
-C infix:div , generic division
+C infix:div , integer division
$numerator div $denominator
Dispatches to the C infix:div multi most appropriate to the
-operand types, typically returning a value of the same type.
+operand types, returning a value of the same type.
Not coercive, so fails on differing types.
Policy on what to do about division by zero is up to the type,
@@ -764,11 +764,12 @@
use in hyperops and junctions, and whether they can profitably benefit
from a lazy exception model.)
-Use of Cdiv on built-in integer types is equivalent to taking the
-floor of a real division:
+In general, Cdiv should give the same result as
$x div $y == floor($x/$y);
+but the return value should be the same type as $x.
+
=item *
C infix:% , modulo
@@ -782,15 +783,15 @@
=item *
-C infix:mod , generic modulo
+C infix:mod , integer modulo
$x mod $y
Dispatches to the C infix:mod multi most appropriate to
-the operand types, typically returning a value of the same type.
+the operand types, returning a value of the same type.
Not coercive, so fails on differing types.
-For built-in types, preserves the identity
+This should preserve the identity
$x mod $y == $x - ($x div $y) * $y