some ldouble tests fixed

Stephen L Moshier moshier@mediaone.net
Mon Jul 23 14:41:00 GMT 2001


All of the numerical test cases that you quoted, that report many ulps
error, appear to be suffering from insufficient precision in the given
numbers for 128-bit floating point.  Here are the test points with
more precise values filled in.

Some of the complex variable library functions might have other
problems.  I have not had much success compiling them yet on a 32-bit
Solaris sparc.  Can you check them against the higher accuracy numbers?


(long double) 0.7L is 6.9999999999999999999999999999999996148140E-1L
(long double) 1.2L is 1.1999999999999999999999999999999999614814E0L

tanhl(0.7L) = 6.0436777711716349630868718310382645056629E-1L
sinhl(0.7L) = 7.5858370183953350345987464759276810580759E-1L
coshl(0.7L) = 1.2551690056309430181646747409902971158626E0L
asinhl(0.7L) = 6.5266656608235578680868634410967586588673E-1L
expm1l(0.7L) = 1.0137527074704765216245493885830651924506E0L
log1pl(1.7182818284590452353602874713526624977572E0L) = 1.0L
ccosl(0.7L + 1.2L * I) =  1.3848657645312111079925236321223290292754E0
                          -9.7242170335830028619300683508283166290684E-1 * I
ccosl(-2.0L - 3.0L * I) = -4.1896256909688072301325550196159737286219E0
                          -9.1092278937553365979791972627788621213326E0 * I
ccoshl(0.7L + 1.2L * I) =  4.5482022236914776541903394163621201220191E-1
                          +7.0702966009215376824109553597954563112801E-1 * I
ccoshl(-2.0L - 3.0L * I) = -3.7245455049153225654739707032559725286750E0
                           +5.1182256998738460883446384980187563424556E-1 * I
csinl(0.7L + 1.2L * I) =  1.1664563419657581375596887786755070392933E0
                         +1.1544997246948547370643172237806383859256E0 * I
csinl(-2.0L - 3.0L * I) = -9.1544991469114295734672995446098325591589E0
                          +4.1689069599665643507548130588537548435736E0 * I
csinhl(0.7L + 1.2L * I) =  2.7487868678117583581548294479309529721223E-1
                          +1.1698665727426565138728512548407615741149E0 * I
csinhl(-2.0L - 3.0L * I) = 3.5905645899857799520125654477948167931949E0
                          -5.3092108624851980526704009066067655967277E-1 * I
ctanl(0.7L + 1.2L * I) =  1.7207341976303490012992484463328553385414E-1
                         +9.5448070599894055381761539165786096698155E-1 * I
ctanl(-2.0L - 3.0L * I) = 3.7640256415042482927512211303226908396306E-3
                         -1.0032386273536098014463585978219272598078E0 * I
ctanhl(0.7L + 1.2L * I) = 1.3472197399061191630041806444836479896329E0
                          +4.7786410383263655403078433442426003997287E-1 * I
ctanhl(-2.0L - 3.0L * I) = -9.6538587902213312427848026939456068587973E-1
                           +9.8843750383224937203140343035012109796181E-3 * I



More information about the Libc-alpha mailing list