heurisko bug no. 6041
This applies to heurisko 6.0 and higher.
Symptoms
The renew command crashes heurisko if used with a parameter object of a user-defined operator.
Example:
ubyte x[*ny][*nx];
operator out = op();
ushort mx, my;
mx = ...; my = ...;
global renew ubyte out[my][mx];
endoperator;
x = op();
Cause
Not yet known.
Workaround
Maybe a parameter selecting a global object is an acceptable workaround.
Example:
ubyte x[*ny][*nx], y[*ny][*nx];
operator op(sel);
ushort mx, my;
mx = ...; my = ...;
switch(sel);
case 1; global renew ubyte x[my][mx];
case 2; global renew ubyte y[my][mx];
endswitch;
endoperator;
op(1);
Fix
This bug is not yet fixed.