Re: [Scheme-reports] (angle -0.0-0.0i) should be -pi, but R7RS-draft-6 prohibits this
Mark H Weaver 07 Aug 2012 20:11 UTC
On 08/07/2012 03:54 PM, Mark H Weaver wrote:
> There is widespread agreement in the relevant floating point standards
> (C99, C11, ISO/IEC 10967, and probably IEEE 754 although I haven't
> purchased a copy) that (angle -0.0-0.0i) = (atan -0.0 -0.0) = -pi, but
> the definition of 'angle' on page 36 of R7RS-draft-6 (section 6.2.6)
> asserts that -pi< (angle z)<= pi for all complex 'z'. I suggest that
> this be changed to -pi<= (angle z)<= pi.
Another problem along the same lines: earlier on page 36, R7RS-draft-6
asserts that the value of "log z is defined to be the one whose
imaginary part lies in the range from -pi (exclusive) to pi
(inclusive)", and then proceeds to define the inverse trigonometric
functions in terms of log. That should be changed to '-pi (inclusive)'.
Note that X3J13 voted for these changes to Common Lisp in January 1989.
Search for "COMPLEX-ATAN-BRANCH-CUT" in the following pages for more
details:
http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node128.html
http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node129.html
Mark
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports