|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
/*
* This file:
* https://anggtwu.net/MAXIMA/2026-eval-simp-anim.mac.html
* https://anggtwu.net/MAXIMA/2026-eval-simp-anim.mac
* (find-angg "MAXIMA/2026-eval-simp-anim.mac")
* Author: Eduardo Ochs <eduardoochs@gmail.com>
*
* (defun e () (interactive) (find-angg "MAXIMA/2026-eval-simp-anim.mac"))
* (defun l () (interactive) (find-angg "MAXIMA/2026-eval-simp-anim.lisp"))
* (defun lu () (interactive) (find-angg "MAXIMA/2026-eval-simp-anim.lua"))
*
* «.trace-f» (to "trace-f")
*/
/*
** «trace-f» (to ".trace-f")
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2026-eval-simp-anim.mac");
f(x) := (1+2)*x;
trace(?meval, ?simplifya);
f(4);
*/
load("2026-eval-simp-anim.lisp");
nary("+.");
nary("*.");
obj : f(4);
obj : f(g(a,b),h(c,d));
boxes : [];
objb () := applyboxes(obj, boxes);
pushlp (label, path) := (push(append([label],path), boxes), objb());
popb () := (pop(boxes), objb());
outboxes : [];
Sav (o) := (push(o, outboxes), o);
sav (o) := o;
cm ([path]) := Sav(pushlp('cm, path));
cs ([path]) := Sav(pushlp('cs, path));
rm ([path]) := Sav([pop(boxes), pushlp('rm, path), pop(boxes)][2]);
rs ([path]) := Sav([pop(boxes), pushlp('rs, path), pop(boxes)][2]);
su (o,[path]) := Sav((obj : apply('substpart, append([o,obj],path)), objb()));
/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2026-eval-simp-anim.mac");
objb();
pushlp('out, [1]);
pushlp('in, [1,2]);
boxes : [];
objb();
cm();
cs(1);
rm(1);
objb();
*/
/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("2026-eval-simp-anim.mac");
obj : f(4);
boxes : [];
cm(); "f(4)"$
cm(1); "4"$
cs(1); "4"$
rs(1); "4"$
rm(1); "4"$
su((1 +. 2) *. x);
cm(); "(1 + 2) x"$
cm(1); "1 + 2"$
cm(1,1); "1"$
cs(1,1); "1"$
rs(1,1); "1"$
rm(1,1); "1"$
cm(1,2); "2"$
cs(1,2); "2"$
rs(1,2); "2"$
rm(1,2); "2"$
cs(1); "1 + 2"$
cs(1,1); "1"$
rs(1,1); "1"$
cs(1,2); "2"$
rs(1,2); "2"$
su(3, 1);
rs(1); "3"$
rm(1); "3"$
cm(2); "x"$
su(4, 2);
cs(2); "4"$
rs(2); "4"$
rm(2); "4"$
cs(); "3 4"$
cs(1); "3"$
rs(1); "3"$
cs(2); "4"$
rs(2); "4"$
su(12);
rs(); "12"$
rm(); "12"$
cs(); "12"$
rs(); "12"$
rm(); "12"$
outboxes : reverse(outboxes);
** (find-angg "MAXIMA/2026-lpp.mac" "ggff")
** (find-angg "MAXIMA/2025-emaxima+.mac")
load ("~/MAXIMA/2025-emaxima.mac");
linenum:0;
display2d:true$
sa_bigstr : "";
sa_addline("% Generated by:");
sa_addline("% (find-angg \"MAXIMA/2026-eval-simp-anim.mac\")");
nboxes : length(outboxes);
boxname(n) := format("boxes ~s", n);
for i in seq(1,nboxes) do sa(boxname(i), outboxes[i]);
sa_bigstr;
sa_bigstr_writeto("/tmp/o");
*/
/*
* Local Variables:
* coding: utf-8-unix
* End:
*/