Test suite failures with cvs version?



Hello Ray,

again thank you very much for your report.

The Exponential Integrals were a first work of me. Thus, I have seen there could
be done a lot much better. (Today I have implemented the noun, verb, alias and
reversealias property and improved the checks for the special values 0 and 1).

The value of expintegral_e(3,0.5) -> .2216043642751785 is definitly correct. I
have checked it again with the value from functions.wolfram.com.

When I transform the function to a representation in terms of expintegral_ei and
do the numerically calculation I can verify the result:

(%i36) ratsimp(expintegral_e(3,1/2));
(%o36) (sqrt(%e)*(2*log(2)+log(-1/2)-2*expintegral_ei(-1/2)-log(-2))+4)
        /(16*sqrt(%e))
(%i37) %,numer;
(%o37) 0.22160436427518

With CMUL and ECL we get an additional complex term. I think I have to look to
the code to find all the places where we have explicit to declare the variables
to be a float or complex value.

One point is, that I have not written different real and complex routines for
double float precision. For GCL and CLISP this seems to be no problem. One
routine works fine for both cases.

I am working on the problem.

Dieter Kaiser

Von: raymond.toy at ericsson.com [mailto:raymond.toy at ericsson.com] 

Anyway, I've updated the code once again (but didn't get your
rtest_expintegral.mac change today).  I removed the binary directories
and rebuilt from scratch.  Now the errors are different.   Clisp passes
all the tests, as does gcl.  CMUCL and Ecl fail quite a few.

I won't list them all.  I think if I can understand one of the failures,
the rest will be obvious.  So, one cmucl failure is rtest_expintegral
problem 43:

********************** Problem 43 ***************
Input:
ev(test_value(%, expintegral_e(3, 0.5), 15), numer)


Result:
.3926990816987241

With expintexpand:erf, we have ratsimp(expintegral_e(3,1/2)) ->

(sqrt(%e)*(2*log(2)+log(-1/2)-2*expintegral_ei(-1/2)-log(-2))+4)/(16*sqrt(%e));

Numerically evaluating, we get .2216043642751784 - .3926990816987241 %i.

But expintegral_e(3,0.5) -> .2216043642751785.

More investigation needed....

Ray