From: SourceForge.net <no...@so...> - 2010-11-18 22:07:31
|
Bugs item #3111568, was opened at 2010-11-18 16:09 Message generated for change (Comment added) made by crategus You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3111568&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core Group: None >Status: Closed Resolution: None Priority: 5 Private: No Submitted By: tnfnk (tnfnk) Assigned to: Nobody/Anonymous (nobody) Summary: subsequent calls to gradef hide variable dependencies Initial Comment: /* 2010-11-18, T. Finke Bug Report: subsequent calls to gradef hide variable dependencies Maxima version: 5.22.1 Maxima build date: 14:32 9/19/2010 Host type: x86_64-unknown-linux-gnu Lisp implementation type: CLISP Lisp implementation version: 2.44.1 (2008-02-23) (built on build35 [127.0.0.1]) The Maxima manual states for the System variable "dependencies": "... The dependencies list is cumulative: each call to depends or gradef appends additional items. " The following sequence shows, that subsequent calls to "gradef()" concerning variables will hide previously declared dependencies. Only the most recently declared dependency is listed by "dependencies". But the "diff()" operator regards former declarations if called exactly for the dpendent variable. If called for expressions, former dependencies are ignored, yielding zero results. If the dependency later is declared by "depends" for all independents, further calculations will be correct. It seems that "gradef" - if called for variables rather than for functions - fails to add subsequent dependencies. */ gradef(f, x, g); gradef(f, y, h); diff(f, x); /* expect "g", correct */ diff(f, y); /* expect "h", correct */ diff(c * f, y); /* expect "c h", correct */ diff(c * f, x); /* expect "c g", but get "0" -- ERROR */ dependencies; /* expect "[f(x, y)]", but get "[f(y)]" -- WRONG */ depends(f, [x, y]); diff(c * f, y); /* expect "c h", again correct, as above */ diff(c * f, x); /* expect "c g", NOW correct */ dependencies; /* expect "[f(x, y)]", NOW correct */ ---------------------------------------------------------------------- >Comment By: Dieter Kaiser (crategus) Date: 2010-11-18 23:07 Message: Thank you very much for this bug report: Fixed in comm.lisp revision 1.56. The functions depends has changed and does no longer append new dependencies. This behavior is restored for the function gradef. Closing this bug report as fixed. Dieter Kaiser ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3111568&group_id=4933 |