[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 Wed, Aug 8, 2012 at 5:11 AM, Mark H Weaver <mhw@x> wrote:
> 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

Thanks Mark.  We'll review these.


Scheme-reports mailing list