Commit 769a998a authored by Hynek Baran's avatar Hynek Baran

v 5.90

* jet: option remember bug (multiple eqs problem as reported by JSK) fixed by introducing `eqn/table`
* lengthselect introduced
parent 9f3216da
......@@ -105,10 +105,10 @@
</Group>
<Group hide-input="false" hide-output="false" labelreference="L935" drawlabel="true">
<Input>
<Text-field prompt="&gt; " style="Maple Input" layout="Normal">read(&quot;../mc/Jets.s&quot;);</Text-field>
<Text-field prompt="&gt; " style="Maple Input" layout="Normal">read(&quot;Jets.s&quot;);</Text-field>
</Input>
<Output>
<Text-field style="Line Printed Output" layout="Line Printed Output">`Jets 5.90 RC 1 as of Oct 10, 2018`</Text-field>
<Text-field style="Line Printed Output" layout="Line Printed Output">`Jets 5.90 as of Oct 12, 2018`</Text-field>
</Output>
</Group>
<Group hide-output="false" labelreference="L936" drawlabel="true">
......@@ -1035,6 +1035,19 @@
<Input>
<Text-field prompt="&gt; " style="Maple Input" layout="Normal">equation():</Text-field>
</Input>
<Input>
<Text-field prompt="&gt; " style="Maple Input" layout="Normal">equation('v_x' = u_y):
covering('w_x' =TD(v_y,x)):</Text-field>
</Input>
<Input>
<Text-field prompt="&gt; " style="Maple Input" layout="Normal">T(TD(v_x,y), u_yy, &quot;Multiple eqs 1&quot;);</Text-field>
</Input>
<Input>
<Text-field prompt="&gt; " style="Maple Input" layout="Normal">T(TD(v_y,x), u_yy, &quot;Multiple eqs 1&quot;);</Text-field>
</Input>
<Input>
<Text-field prompt="&gt; " style="Maple Input" layout="Normal">equation():</Text-field>
</Input>
</Group>
<Group labelreference="L971" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
<Input>
......@@ -1058,7 +1071,7 @@
<Text-field style="Line Printed Output" layout="Line Printed Output">`O.K.`</Text-field>
</Output>
<Output>
<Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output">SScwfnNlYy5HNiI=</Equation></Text-field>
<Text-field style="2D Output" layout="Maple Output"><Equation executable="false" style="2D Output">SScxfnNlYy5HNiI=</Equation></Text-field>
</Output>
</Group>
<Group labelreference="L967" drawlabel="true" applyint="true" applyrational="true" applyexponent="false">
......
......@@ -189,7 +189,7 @@
###########################################################################################
interface(screenwidth=120):
lprint(`Jets 5.90 RC 1 as of Oct 10, 2018`);
lprint(`Jets 5.90 as of Oct 12, 2018`);
#
# Source code configuration, options and parameters
......@@ -1945,7 +1945,7 @@ jet := proc (u::`f/var`,x::`b/count`)
option remember, system, threadsafe;
global `eqn/table`;
local y, ans;
if assigned(`eqn/table`[u,x]) then
if assigned(`eqn/table`[u,x]) then # HB cannot use remembertable to store permanent info
RETURN (`eqn/table`[u,x])
else
for y in `b/var/s` do
......@@ -1955,12 +1955,10 @@ jet := proc (u::`f/var`,x::`b/count`)
fi
fi
od;
'jet'(u,sort(x,`b/var/list`))
RETURN ('jet'(u,sort(x,`b/var/list`)));
fi
end:
`eqn/table` := table():
`simpl/jet` := op(simpl):
......@@ -2011,6 +2009,7 @@ equations := proc ()
end:
`eqn/list` := []:
`eqn/table` := table(): # HB
unprotect(equation):
equation := op(equations):
......@@ -2020,25 +2019,16 @@ equation := op(equations):
#
refresh := proc()
global `eqn/table`;
forget(jet);
global `eqn/table`, `eqn/list`;
`eqn/table` := table():
map (`refresh/1`, `refresh/list`);
op(map(proc(e) assign(`eqn/table`[op(1,e)] = simpl(eval(op(2,e)))); forget(jet); end,
`eqn/list`));
op(map(proc(e) assign(`eqn/table`[op(1,e)] = simpl(eval(op(2,e)))); forget(jet); end, # HB prevent remembering of future defined jets
`eqn/list`));
end:
`refresh/1` := proc(f) assign(f=subsop(4=NULL,op(f))) end:
`refresh/list` := [jet, Simpl, `pd//tab`,
`vars/TD`,`vars/TD/1`,
`pd/TD`,`pd/TD/1`,
`pars/TD`,`pars/TD/1`,
`unks/TD`,`unks/TD/1`,
`Vars/TD`,`Vars/TD/1`]:
remembertable := proc (f) op(4,op(f)) end:
`refresh/1` := proc(f) forget(f, subfunctions=true, forgetpermanent=true) end:
`refresh/list` := [jet, Simpl, `pd//tab`, Vars, vars, pars, unks, pd]:
# Symmetries
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment