Add missing definition of exact as noticed by GJS.
authorChris Hanson <org/chris-hanson/cph>
Sat, 10 Aug 2019 21:31:04 +0000 (14:31 -0700)
committerChris Hanson <org/chris-hanson/cph>
Sat, 10 Aug 2019 22:15:22 +0000 (15:15 -0700)
Also update the text of inexact and exact to match R7RS.

doc/ref-manual/numbers.texi

index ab13a002d5883f8fb5f38293a6c033ce0d6f7cf9..5cd2f88bde9d7e4454f7812e89c32ee94b8cde01 100644 (file)
@@ -1348,32 +1348,31 @@ throughout an implementation-dependent range.
 @deffn procedure inexact z
 @deffnx procedure exact->inexact z
 @code{inexact} returns an inexact representation of @var{z}.  The
-value returned is the inexact number that is numerically closest to the
-argument.  If an exact argument has no reasonably close inexact
-equivalent, then a violation of an implementation restriction may be
-reported; MIT/GNU Scheme signals an error of type
-@code{condition-type:bad-range-argument} in this case.
-@findex condition-type:bad-range-argument
+value returned is the inexact number that is numerically closest to
+the argument.  For inexact arguments, the result is the same as the
+argument.  For exact complex numbers, the result is a complex number
+whose real and imaginary parts are the result of applying
+@code{inexact} to the real and imaginary parts of the argument,
+respectively.  If an exact argument has no reasonably close inexact
+equivalent (in the sense of @code{=}), then a violation of an
+implementation restriction may be reported.
 
 The procedure @code{exact->inexact} has been deprecated by @urseven{}.
 @end deffn
 
-@deffn procedure inexact z
-@deffnx procedure exact->inexact z
-@code{inexact} returns an inexact representation of @var{z}.  The
-value returned is the inexact number that is numerically closest to the
-argument.  If an exact argument has no reasonably close inexact
-equivalent, then a violation of an implementation restriction may be
-reported; MIT/GNU Scheme signals an error of type
-@code{condition-type:bad-range-argument} in this case.
-@findex condition-type:bad-range-argument
-
+@deffn procedure exact z
+@deffnx procedure inexact->exact z
 @code{exact} returns an exact representation of @var{z}.  The value
 returned is the exact number that is numerically closest to the
-argument.  If an inexact argument has no reasonably close exact
-equivalent, then a violation of an implementation restriction may be
-reported; in MIT/GNU Scheme this case does not occur because all
-inexact numbers are representable as exact numbers.
+argument.  For exact arguments, the result is the same as the
+argument. For inexact non-integral real arguments, the implementation
+may return a rational approximation, or may report an implementation
+violation.  For inexact complex arguments, the result is a complex
+number whose real and imaginary parts are the result of applying
+@code{exact} to the real and imaginary parts of the argument,
+respectively.  If an inexact argument has no reasonably close exact
+equivalent (in the sense of @code{=}), then a violation of an
+implementation restriction may be reported.
 
 The procedure @code{inexact->exact} has been deprecated by @urseven{}.
 @end deffn