Alexey Beshenov | 15 May 00:21
Picon
Favicon

Is it a bug?

In 5.14.0 (CLISP 2.41) calling desolve inside a "for...do" block makes it loop 
endlessly. Is it a bug?

(%i1) for i : 1 thru 3 do (print(i));
1
2
3
(%o1)                               done

(%i2) for i : 1 thru 3 do (desolve('diff(foo(x),x)=1,foo(x)), print(i));
1
1
1
...

--

-- 
Alexey Beshenov <al <at> beshenov.ru>
http://beshenov.ru/
_______________________________________________
Maxima mailing list
Maxima <at> math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima
Robert Dodier | 15 May 16:50
Picon

Re: Is it a bug?

On 5/14/08, Alexey Beshenov <al <at> beshenov.ru> wrote:

> In 5.14.0 (CLISP 2.41) calling desolve inside a "for...do" block makes it
> loop endlessly. Is it a bug?
>
> (%i1) for i : 1 thru 3 do (print(i));
> 1
> 2
> 3
> (%o1)                               done
>
> (%i2) for i : 1 thru 3 do (desolve('diff(foo(x),x)=1,foo(x)), print(i));
> 1
> 1
> 1
> ...

Well, that is certainly a bug. I have observed that in 5.14.0 official
release but not in cvs versions from a little before and a little after
the release, so that is kind of puzzling. Can someone else try it?

best

Robert Dodier
David Ronis | 15 May 17:20
Picon

Re: Is it a bug?


I just tried this using 

Maxima 5.15.0cvs http://maxima.sourceforge.net
Using Lisp CLISP 2.44.1 (2008-02-23)

I get the same behavior.

David

On Thu, 2008-05-15 at 08:50 -0600, Robert Dodier wrote:
> On 5/14/08, Alexey Beshenov <al <at> beshenov.ru> wrote:
> 
> > In 5.14.0 (CLISP 2.41) calling desolve inside a "for...do" block makes it
> > loop endlessly. Is it a bug?
> >
> > (%i1) for i : 1 thru 3 do (print(i));
> > 1
> > 2
> > 3
> > (%o1)                               done
> >
> > (%i2) for i : 1 thru 3 do (desolve('diff(foo(x),x)=1,foo(x)), print(i));
> > 1
> > 1
> > 1
> > ...
> 
> Well, that is certainly a bug. I have observed that in 5.14.0 official
> release but not in cvs versions from a little before and a little after
(Continue reading)

andre maute | 15 May 17:24
Picon
Picon

Re: Is it a bug?

On Thursday 15 May 2008, Robert Dodier wrote:
> for i : 1 thru 3 do (desolve('diff(foo(x),x)=1,foo(x)), print(i));

~$ maxima -v
+ [ clisp = clisp ]
+ [ true = true ]
+ 
exec /home/myuser/opt/maxima/lib/maxima/5.13.0/binary-clisp/lisp.run -q -M
/home/myuser/opt/maxima/lib/maxima/5.13.0/binary-clisp/maxima.mem  -- -v
Maxima 5.13.0 http://maxima.sourceforge.net
Using Lisp CLISP 2.41 (2006-10-13)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
This is a development version of Maxima. The function bug_report()
provides bug reporting information.
(%i1) quit();

DOES loop endlessly,

So Maxima 5.13.0 has this bug also.
If it is a regression, it must have been introduced before Maxima 5.13.0
eric.reyssat | 16 May 08:38
Picon

Re: Is it a bug?


> Well, that is certainly a bug. I have observed that in 5.14.0 official
> release but not in cvs versions from a little before and a little after
> the release, so that is kind of puzzling. Can someone else try it?
>

It is ok for me with 5.14 on windows :

(%i1) build_info();
Maxima version: 5.14.0
Maxima build date: 21:46 12/27/2007
host type: i686-pc-mingw32
lisp-implementation-type: GNU Common Lisp (GCL)
lisp-implementation-version: GCL 2.6.8

(%o1)
(%i2) for i : 1 thru 3 do (desolve('diff(foo(x),x)=1,foo(x)), print(i));
1
2
3
(%o2)                                done

Eric
Viktor T. Toth | 16 May 12:55
Favicon

Re: Is it a bug?

Seems to happen with CLISP and SBCL, but not with GCL and CMUCL. Just
checked with the current CVS version.

Viktor

-----Original Message-----
From: maxima-bounces <at> math.utexas.edu [mailto:maxima-bounces <at> math.utexas.edu]
On Behalf Of eric.reyssat <at> math.unicaen.fr
Sent: Friday, May 16, 2008 2:38 AM
To: Robert Dodier
Cc: maxima <at> math.utexas.edu
Subject: Re: [Maxima] Is it a bug?

> Well, that is certainly a bug. I have observed that in 5.14.0 official
> release but not in cvs versions from a little before and a little after
> the release, so that is kind of puzzling. Can someone else try it?
>

It is ok for me with 5.14 on windows :

(%i1) build_info();
Maxima version: 5.14.0
Maxima build date: 21:46 12/27/2007
host type: i686-pc-mingw32
lisp-implementation-type: GNU Common Lisp (GCL)
lisp-implementation-version: GCL 2.6.8

(%o1)
(%i2) for i : 1 thru 3 do (desolve('diff(foo(x),x)=1,foo(x)), print(i));
1
(Continue reading)

Robert Dodier | 17 May 17:25
Picon

Re: Is it a bug?

On 5/14/08, Alexey Beshenov <al <at> beshenov.ru> wrote:

> In 5.14.0 (CLISP 2.41) calling desolve inside a "for...do" block makes it loop
>  endlessly. Is it a bug?

Well, this is pretty mysterious ... here is a little more info.
By the way can someone open a bug report? Problems like this
get lost on the mailing list if not resolved right away.

desolve calls laplace and ilt (inverse Laplace transform).
It appears the problem originates from ilt.

This function demonstrates the bug when called.
But translate(foo) makes it go away --- because, I suppose,
the loop is handled differently.

foo () := for i : 1 thru 3 do (ilt (1/s, s, t), print (i));
translate (foo);
:lisp #'$foo
 => #<FUNCTION $FOO NIL (DECLARE (IN-DEFUN $FOO))
  (BLOCK $FOO NIL
   (DO (($I 1 (+ 1 $I))) ((> $I 3) '$DONE)
    (SIMPLIFY
     ($ILT (DIV 1 (TRD-MSYMEVAL $S '$S)) (TRD-MSYMEVAL $S '$S)
      (TRD-MSYMEVAL $T '$T)))
    ($PRINT $I)))>
foo ();
 =>
1
2
(Continue reading)


Gmane