[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] (angle -0.0-0.0i) should be -pi, but R7RS-draft-6 prohibits this



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@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports