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 365: Editorial: Add examples for transcendental functions

2012-10-11 23:27:13
WG1 - Core
aag
major
cowan
fixed
source
closed
2012-03-27 21:43:56
defect

The range of tan-1 x y is as in the following table. The asterisk (*) indicates that the entry applies to implementations that distinguish minus zero.

y condition

x condition

range of result r

y = 0.0

x > 0.0

  1. 0

y = + 0.0

x > 0.0

+0.0

y = - 0.0

x > 0.0

-0.0

y > 0.0

x > 0.0

  1. 0 < r < (π/2)

y > 0.0

x = 0.0

(π/2)

y > 0.0

x < 0.0

(π/2) < r < π

y = 0.0

x < 0

π

y = + 0.0

x < 0.0

π

y = - 0.0

x < 0.0

y < 0.0

x < 0.0

-π < r < - (π/2)

y < 0.0

x = 0.0

-(π/2)

y < 0.0

x > 0.0

-(π/2) < r< 0.0

y = 0.0

x = 0.0

undefined

y = + 0.0

x = +0.0

+0.0

y = - 0.0

x = + 0.0

  • 0.0

y = + 0.0

x = - 0.0

π

y = - 0.0

x = - 0.0

y = + 0.0

x = 0

(π/2)

y = - 0.0

x = 0

-(π/2)

descriptionIn general, the transcendental functions log, sin^-1^ (arcsine), cos^-1^ (arccosine), and tan^-1^ are multiply defined. The value of log z is defined to be the one whose imaginary part lies in the range from -π (inclusive if -0.0 is distinguished, exclusive otherwise) to π (inclusive). log 0 is undefined. The value of log z for non-real z is defined in terms of log on real numbers as log z = log |z| + (angle z)i where angle z is the angle of z = a · e^ib^ specified as: angle z = b + 2πn with -π ≤ angle z ≤ π and angle z = b + 2πn for some integer n. With the one-argument version of log defined this way, the values of the two-argument-version of log, sin^-1^ z, cos^-1^ z, tan^-1^ z, and the two-argument version of tan^-1^ are according to the following formulæ: log z b = (log z/log b) sin^-1^ z = - i log (i z + (1 - z^2^)^1/2^) cos^-1^ z = π / 2 - sin^-1^ z tan^-1^ z = (log (1 + i z) - log (1 - i z)) / (2 i) tan^-1^ x y = angle(x + yi) The range of tan^-1^ x y is as in the following table. The asterisk (*) indicates that the entry applies to implementations that distinguish minus zero. || ||y condition||x condition||range of result r|| || ||y = 0.0||x > 0.0||0.0|| ||∗||y = + 0.0||x > 0.0||+0.0|| ||∗||y = - 0.0||x > 0.0||-0.0|| || ||y > 0.0||x > 0.0||0.0 < r < (π/2)|| || ||y > 0.0||x = 0.0||(π/2)|| || ||y > 0.0||x < 0.0||(π/2) < r < π|| || ||y = 0.0||x < 0||π|| ||∗||y = + 0.0||x < 0.0||π|| ||∗||y = - 0.0||x < 0.0||-π|| || ||y < 0.0||x < 0.0||-π < r < - (π/2)|| || ||y < 0.0||x = 0.0||-(π/2)|| || ||y < 0.0||x > 0.0||-(π/2) < r< 0.0|| || ||y = 0.0 x = 0.0 undefined ||∗||y = + 0.0||x = +0.0||+0.0|| ||∗||y = - 0.0||x = + 0.0||- 0.0|| ||∗||y = + 0.0||x = - 0.0||π|| ||∗||y = - 0.0||x = - 0.0||-π|| ||∗||y = + 0.0||x = 0||(π/2)|| ||∗||y = - 0.0||x = 0||-(π/2)|| In general, the transcendental functions log, sin^-1^ (arcsine), cos^-1^ (arccosine), and tan^-1^ are multiply defined. The value of log z is defined to be the one whose imaginary part lies in the range from -π (inclusive if -0.0 is distinguished, exclusive otherwise) to π (inclusive). log 0 is undefined. The value of log z for non-real z is defined in terms of log on real numbers as log z = log |z| + (angle z)i where angle z is the angle of z = a · e^ib^ specified as: angle z = b + 2πn with -π ≤ angle z ≤ π and angle z = b + 2πn for some integer n. With the one-argument version of log defined this way, the values of the two-argument-version of log, sin^-1^ z, cos^-1^ z, tan^-1^ z, and the two-argument version of tan^-1^ are according to the following formulæ: log z b = (log z/log b) [only relevant if #366 passes] sin^-1^ z = - i log (i z + (1 - z^2^)^1/2^) cos^-1^ z = π / 2 - sin^-1^ z tan^-1^ z = (log (1 + i z) - log (1 - i z)) / (2 i) tan^-1^ x y = angle(x + yi) The range of tan^-1^ x y is as in the following table. The asterisk (*) indicates that the entry applies to implementations that distinguish minus zero. || ||y condition||x condition||range of result r|| || ||y = 0.0||x > 0.0||0.0|| ||∗||y = + 0.0||x > 0.0||+0.0|| ||∗||y = - 0.0||x > 0.0||-0.0|| || ||y > 0.0||x > 0.0||0.0 < r < (π/2)|| || ||y > 0.0||x = 0.0||(π/2)|| || ||y > 0.0||x < 0.0||(π/2) < r < π|| || ||y = 0.0||x < 0||π|| ||∗||y = + 0.0||x < 0.0||π|| ||∗||y = - 0.0||x < 0.0||-π|| || ||y < 0.0||x < 0.0||-π < r < - (π/2)|| || ||y < 0.0||x = 0.0||-(π/2)|| || ||y < 0.0||x > 0.0||-(π/2) < r< 0.0|| || ||y = 0.0||x = 0.0||undefined|| ||∗||y = + 0.0||x = +0.0||+0.0|| ||∗||y = - 0.0||x = + 0.0||- 0.0|| ||∗||y = + 0.0||x = - 0.0||π|| ||∗||y = - 0.0||x = - 0.0||-π|| ||∗||y = + 0.0||x = 0||(π/2)|| ||∗||y = - 0.0||x = 0||-(π/2)||
summaryAdopt R6RS language for transcendental functionsEditorial: Add examples for transcendental functions
descriptionIn general, the transcendental functions log, sin^-1^ (arcsine), cos^-1^ (arccosine), and tan^-1^ are multiply defined. The value of log z is defined to be the one whose imaginary part lies in the range from -π (inclusive if -0.0 is distinguished, exclusive otherwise) to π (inclusive). log 0 is undefined. The value of log z for non-real z is defined in terms of log on real numbers as log z = log |z| + (angle z)i where angle z is the angle of z = a · e^ib^ specified as: angle z = b + 2πn with -π ≤ angle z ≤ π and angle z = b + 2πn for some integer n. With the one-argument version of log defined this way, the values of the two-argument-version of log, sin^-1^ z, cos^-1^ z, tan^-1^ z, and the two-argument version of tan^-1^ are according to the following formulæ: log z b = (log z/log b) [only relevant if #366 passes] sin^-1^ z = - i log (i z + (1 - z^2^)^1/2^) cos^-1^ z = π / 2 - sin^-1^ z tan^-1^ z = (log (1 + i z) - log (1 - i z)) / (2 i) tan^-1^ x y = angle(x + yi) The range of tan^-1^ x y is as in the following table. The asterisk (*) indicates that the entry applies to implementations that distinguish minus zero. || ||y condition||x condition||range of result r|| || ||y = 0.0||x > 0.0||0.0|| ||∗||y = + 0.0||x > 0.0||+0.0|| ||∗||y = - 0.0||x > 0.0||-0.0|| || ||y > 0.0||x > 0.0||0.0 < r < (π/2)|| || ||y > 0.0||x = 0.0||(π/2)|| || ||y > 0.0||x < 0.0||(π/2) < r < π|| || ||y = 0.0||x < 0||π|| ||∗||y = + 0.0||x < 0.0||π|| ||∗||y = - 0.0||x < 0.0||-π|| || ||y < 0.0||x < 0.0||-π < r < - (π/2)|| || ||y < 0.0||x = 0.0||-(π/2)|| || ||y < 0.0||x > 0.0||-(π/2) < r< 0.0|| || ||y = 0.0||x = 0.0||undefined|| ||∗||y = + 0.0||x = +0.0||+0.0|| ||∗||y = - 0.0||x = + 0.0||- 0.0|| ||∗||y = + 0.0||x = - 0.0||π|| ||∗||y = - 0.0||x = - 0.0||-π|| ||∗||y = + 0.0||x = 0||(π/2)|| ||∗||y = - 0.0||x = 0||-(π/2)|| The range of tan^-1^ x y is as in the following table. The asterisk (*) indicates that the entry applies to implementations that distinguish minus zero. || ||y condition||x condition||range of result r|| || ||y = 0.0||x > 0.0||0.0|| ||∗||y = + 0.0||x > 0.0||+0.0|| ||∗||y = - 0.0||x > 0.0||-0.0|| || ||y > 0.0||x > 0.0||0.0 < r < (π/2)|| || ||y > 0.0||x = 0.0||(π/2)|| || ||y > 0.0||x < 0.0||(π/2) < r < π|| || ||y = 0.0||x < 0||π|| ||∗||y = + 0.0||x < 0.0||π|| ||∗||y = - 0.0||x < 0.0||-π|| || ||y < 0.0||x < 0.0||-π < r < - (π/2)|| || ||y < 0.0||x = 0.0||-(π/2)|| || ||y < 0.0||x > 0.0||-(π/2) < r< 0.0|| || ||y = 0.0||x = 0.0||undefined|| ||∗||y = + 0.0||x = +0.0||+0.0|| ||∗||y = - 0.0||x = + 0.0||- 0.0|| ||∗||y = + 0.0||x = - 0.0||π|| ||∗||y = - 0.0||x = - 0.0||-π|| ||∗||y = + 0.0||x = 0||(π/2)|| ||∗||y = - 0.0||x = 0||-(π/2)||
statusnewdecided
owneralexshinnaag
statusdecidedwriting
resolutionfixed
statuswritingclosed