On Oct 31, 2013, at 4:21 PM, Bradley Lucier lucier@math.purdue.edu wrote:
On 10/31/2013 11:08 AM, Marc Feeley wrote:
In your (future) implementation of complex asin and acos which is based on flsinh, etc, I am asking if the precision of complex asin and acos will be no worse than what it is currently if flsinh, etc are defined using the portable naive implementation. Marc
Marc:
I still can't parse the sentence, sorry, my broken leg isn't healing properly and I can't always think straight right now.
To be more concrete, let me list the floating-point functions that Kahan uses in his implementations:
The following we have:
sqrt arctan ln tan
The following are trivial (maybe we already have them, I haven't checked).
copysign logb scaleb
The following we don't have:
ln1p ; ln1p(x)=ln(1+x) arcsinh sinh
These floating-point functions need to be computed accurately for the complex functions to be computed accurately.
There is already an algorithm for something like ln1p in the last case of the cond in exact-log in the definition of ##log, and we may need to have Scheme versions of (ln1p, arcsinh, and sinh) to calculate accurate values of the complex functions for exact arguments (Kahan considers only floating-point arguments, so there are limits on how big and how small they can be).
So I need only flln1p, flasinh, and flsinh. Which is not so much. (But which may be more than what Windows provides, according to Joe's email.)
Brad
Given that the hyperbolic functions are interesting on their own, I'm enclined to add them to Gambit regardless of their use for implementing complex asin and acos. Then we can experiment to see if it is worthwhile using them for complex asin and acos.
Can you give me a consistent set of the math functions I should add? If sinh is added then cosh and tanh should be added as well, etc
Marc