Test suite failures with cvs version?



Hello Ray,

that is the code in simp-expintegral-si which calls expintegral-si:

      ((expintegral-numerical-eval-p arg)
       (let ((carg (complex ($realpart arg) ($imagpart arg))))
         (complexify (expintegral-si carg))))

Here a CL complex number is generated and transferred to the numerical routine
expintegral-si. I am not sure, but I think this would be the best place to make
sure that the argument carg has the correct declaration. Is a declaration at
this point enough to make sure that the numerical routines work as expected?

Later I would like to use a different test which I use to standardize the
numerical evaluation a bit. In other functions I have written code like this:

      ((complex-float-numerical-eval-p arg)
       (let ((carg (complex ($float ($realpart arg)) ($float ($imagpart arg)))))
         (complexify (expintegral-si carg))))

The functions float-numerical-eval-p, complex-numerical-eval-p, .. I have
written to get a standard for a call to the numerical routines. Would the
additional $float guarantee that the argument carg has the correct and complete
declaration?

This is the equivalent code for the Exponential Integral Ci in
simp-expintegral-ci which calls the numerical routine expintegral-ci. Again a CL
complex number is transferred to the numerical routine.

      ((expintegral-numerical-eval-p arg)
       (let ((carg (complex ($realpart arg) ($imagpart arg))))
         (complexify (expintegral-ci carg))))

Dieter Kaiser

-----Urspr?ngliche Nachricht-----
Von: raymond.toy at ericsson.com [mailto:raymond.toy at ericsson.com] 
Gesendet: Freitag, 24. Oktober 2008 22:44
An: Dieter Kaiser
Cc: maxima at math.utexas.edu
Betreff: Re: AW: [Maxima] Test suite failures with cvs version?

Dieter Kaiser wrote:
> Hello Ray,
> 
> thank you very much for your work. The last hour I was not at my PC, but I see
> that you have got the problems. I think I never would have found it as fast.
> 
> I think it would be the best if you would commit these improvements. Do you
> would like to commit all changes including the change to the code of the
> function expintegral_ei? Perhaps some comments are necessary, so we do not
> change something which is important to get the functions to work.

I can check in the changes, including the expintegral-ei fix you made.

However, I'd like you to tell me where the changes for expintegral-si/ci
should go.  The easiest place is in the functions, but perhaps the fix
so be higher?  If you tell me which you prefer, I can make the necessary
changes and commit them.

Ray