On Wed, Aug 8, 2012 at 5:11 AM, Mark H Weaver <mhw@netris.org> 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
See also http:www.lispworks.com/documentation/lw61/CLHS/Issues/iss069_w.htm and http:www.lispworks.com/documentation/lw61/CLHS/Issues/iss192_w.htm.