--- ais/ai-00156.txt 1998/09/30 23:25:17 1.2 +++ ais/ai-00156.txt 1999/07/08 17:25:14 1.3 @@ -1,5 +1,6 @@ -!standard G.1.1 (55) 98-06-12 AI95-00156/03 +!standard G.1.1 (55) 99-07-07 AI95-00156/04 !class binding interpretation 96-09-04 +!status Corrigendum 2000 99-05-27 !status WG9 approved 98-06-12 !status ARG Approved (with changes) 12-0-1 97-11-16 !status work item 96-09-08 @@ -8,7 +9,7 @@ !difficulty Medium !subject Polar implementation of complex exponentiation for negative exponents -!summary 98-03-27 +!summary The second sentence of G.1.1(55) should read: @@ -19,7 +20,7 @@ argument by the given exponent, and reconverting to a cartesian representation. -!question 96-09-08 +!question G.1.1(55) gives the following method for doing complex exponentiation in polar form in G.1.1(55): @@ -34,15 +35,15 @@ exponents should be applied for all exponents, including interestingly enough, zero exponents. -!recommendation 98-03-27 +!recommendation (See summary.) -!wording 98-03-27 +!wording (See summary.) -!discussion 96-09-08 +!discussion Here is a proof by example that the given method is incorrect: @@ -64,7 +65,42 @@ The only dubious assumption made was that the RM95 method was correct. So, it must not be. -!appendix 96-09-04 +!corrigendum G.01.01(55) + +@drepl +Implementations may obtain the result of exponentiation of a complex or +pure-imaginary operand by repeated complex multiplication, with arbitrary +association of the factors and with a possible final complex reciprocation +(when the exponent is negative). Implementations are also permitted to +obtain the result of exponentiation of a complex operand, but not of a +pure-imaginary operand, by converting the left operand to a polar +representation; exponentiating the modulus by the given exponent; multiplying +the argument by the given exponent, when the exponent is positive, or +dividing the argument by the absolute value of the given exponent, when the +exponent is negative; and reconverting to a cartesian representation. +Because of this implementation freedom, no accuracy requirement is imposed on +complex exponentiation (except for the prescribed results given above, which +apply regardless of the implementation method chosen). +@dby +Implementations may obtain the result of exponentiation of a complex or +pure-imaginary operand by repeated complex multiplication, with arbitrary +association of the factors and with a possible final complex reciprocation +(when the exponent is negative). Implementations are also permitted to +obtain the result of exponentiation of a complex operand, but not of a +pure-imaginary operand, by converting the left operand to a polar +representation, exponentiating the modulus by the given exponent, +multiplying the argument by the given exponent, and reconverting to a +cartesian representation. Because of this implementation freedom, no +accuracy requirement is imposed on complex exponentiation (except for the +prescribed results given above, which apply regardless of the +implementation method chosen). + +!ACATS test + +This is a correction of a permission for an implementation to use a +non-canonical algorithm. This is not testable. + +!appendix !section G.1.1(55) !subject Polar implementation of complex exponentiation for negative exponents incorrect.

Questions? Ask the ACAA Technical Agent