Am Mittwoch, den 31.03.2010, 09:13 -0400 schrieb Raymond Toy:
> On 3/31/10 8:15 AM, Dieter Kaiser wrote:
> > Hello Ray,
> > this is a trace of polelist, res, and res1. polelist returns a cons with
> > a symbol $neg in it.
> >
> > (%i4) integrate(1/(2+cos(x)),x,0,%pi);
> > 0: (RES 2
> > ((MPLUS SIMP) 1 ((MTIMES SIMP RATSIMP) 4 YY)
> > ((MEXPT SIMP RATSIMP) YY 2))
> > #<FUNCTION (LAMBDA #) {B095B2D}> #<FUNCTION (LAMBDA #)
> > {B095C95}>)
> > 1: (POLELIST
> > ((MPLUS SIMP) 1 ((MTIMES SIMP RATSIMP) 4 YY)
> > ((MEXPT SIMP RATSIMP) YY 2))
> > #<FUNCTION (LAMBDA #) {B095B2D}> #<FUNCTION (LAMBDA #)
> > {B095C95}>)
> > 1: POLELIST returned
> > ((((MPLUS SIMP) -2 ((MEXPT SIMP) 3 ((RAT SIMP) 1 2)))
> > ((MPLUS SIMP) 2 ((MTIMES SIMP) -1 ((MEXPT SIMP) 3 ((RAT SIMP)
> > 1 2)))
> > YY)
> > ((MPLUS SIMP) -2
> > ((MTIMES SIMP RATSIMP) -1 ((MEXPT SIMP) 3 ((RAT SIMP) 1
> > 2))))
> > ((MPLUS SIMP) 2 ((MEXPT SIMP) 3 ((RAT SIMP) 1 2)) YY))
> > NIL (((MPLUS SIMP) -2 ((MEXPT SIMP) 3 ((RAT SIMP) 1 2))) .
> > $NEG) NIL)
> > 1: (RES1 2 ((MPLUS SIMP) 4 ((MTIMES SIMP) 2 YY))
> > (((MPLUS SIMP) -2 ((MEXPT SIMP) 3 ((RAT SIMP) 1 2))) .
> > $NEG))
> >
>
> This just doesn't make any sense to me. The only change was in unitcir
> which changed the region and region1 functions. Neither of these can
> return '$NEG. And even if they did, polelist never uses the results
> from region or region1 except as the test clause in a COND.
>
> I guess I'll have to build with sbcl myself. (I've been kind of
> avoiding that since I already have too many Lisp's for building maxima.)
Hello Ray,
looking into the code the problem might be the definitions of the
lambda-functions in unitcr. The lambda functions are passed to res and
to polelist. But I have no idea what is wrong.
Dieter Kaiser