more three problems...



Rainer Joswig wrote:
> In article <463BA4D1.60902 at ericsson.com>,
>  Raymond Toy <raymond.toy at ericsson.com> wrote:
> 
>> Rainer Joswig wrote:
>>> Maxima 5.12.0
>>>
>>> I got the Lisp part mostly running under LispWorks 5.
>>>
>>> Three remaining problems from the testsuite:
>>>
>>>
>>> Running tests in rtest9: 
>>> ********************** Problem 18 ***************
>>> Input:
>>> errcatch(ev(%, x = 1.0E+20))
>>>
>>>
>>> Result:
>>> [7.000000000000015E+19]
>>>
>>> This differed from the expected result:
>>> [7.0E+19]
>> Can you evaluate (in Lisp)
>>
>> (+ (* 1d-20 (expt 1d20 2)) (* -5.5d0 1d20) 5.2d20)?
>>
>> Does this produce 7d19 or something else?
> 
> 7.000000000000013E19

Interesting.  I'm guessing LW doesn't read the numbers quite right. Or 
something.

> 
>>>
>>>
>>>
>>>
>>>
>>> Running tests in rtest_trig:
>>>
>>> ********************** Problem 60 ***************
>>> Input:
>>> block([buggy : []], for f in alltrig do for p in pts do block([e, 
>>> fop : op(f)], e : buildq([p, fop], lambda([], 
>>> cabs(float(rectform(fop(p))) - fop(float(p))))), 
>>> if e() > 1.0E-13 then buggy : cons(e, buggy)), buggy)
>>>
>>>
>>> Result:
>>> The number 1.0*%i+2.0 isn't in the domain of acot
>>>  -- an error.  To debug this try debugmode(true);
>>> 0
>> In maxima, try acot(2.0+%i*1.0);  If that produces an error, try 
>> atan(1/(2.0+%i*1.0)).  If that doesn't work, use Lisp and evaluate (atan 
>> (/ #c(2d0 1d0))).
> 
> (%i3) acot(2.0+%i*1.0);
> The number 1.0*%i+2.0 isn't in the domain of acot
>  -- an error.  To debug this try debugmode(true);
> 
> (%i4) atan(1/(2.0+%i*1.0));
>                                1
> (%o4)                atan(------------)
>                           1.0 %i + 2.0
>
Oops.  Try float(atan(1/(2.0+1.0*%i))).

Ray