@@ -270,11 +270,11 @@ In many languages division by zero is an immediate exception. In Perl 6, what
270
270
happens depends on what you're dividing and how you use the result.
271
271
272
272
Perl 6 follows L < IEEE 754-2008 Standard for Floating-Point Arithmetic|https://en.wikipedia.org/wiki/IEEE_754 > , but for historical reasons
273
- 6.c language does not comply fully. L < Num > division by zero produces a
274
- L < Failure > , while L < Complex > division by zero produces C < NaN > components,
275
- regardless of what the numerator is.
273
+ 6.c and 6.d language versions do not comply fully. L < Num > division by zero
274
+ produces a L < Failure > , while L < Complex > division by zero produces C < NaN >
275
+ components, regardless of what the numerator is.
276
276
277
- As of 6.d language, both L < Num > and L < Complex > division by zero will produce a
277
+ As of 6.e language, both L < Num > and L < Complex > division by zero will produce a
278
278
-L < Inf|/type/Num#Inf > , C < +Inf > , or L < NaN > depending on whether the numerator was
279
279
negative, positive, or zero, respectively (for L < Complex > the real and imaginary
280
280
components are L < Num > and are considered separately).
@@ -289,7 +289,9 @@ which can be explosive.
289
289
290
290
A Zero-Denominator Rational is a numeric that does role L < Rational > , which
291
291
among core numerics would be L < Rat > and L < FatRat > objects, which
292
- has denominator of zero.
292
+ has denominator of zero. The numerator of such Rationals is normalized
293
+ to C < -1 > , C < 0 > , or C < 1 > depending on whether the original numerator
294
+ is negative, zero or positive, respectively.
293
295
294
296
Operations that can be performed without requiring actual division to occur are
295
297
non-explosive. For example, you can separately examine L < numerator > and
0 commit comments