This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 469: Change definition of (atan -0.0 -0.0)

2012-10-12 06:24:02
WG1 - Core
cowan
major
cowan
fixed
source
closed
2012-08-29 12:10:17
defect
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.

statusnewdecided

WG1 accepted this under no-objection procedure.

owneralexshinncowan
statusdecidedwriting

The first point has been added. The second point was already added as an editorial change.

resolutionfixed
statuswritingclosed