2011/5/16 Roger Hui <[email protected]>: > I believe I have found and fixed the bug. > > The problem is in 2 f/\y , implemented by infix2 in file ap.c. > by the expression (}:y) f (}.y) . In certain cases, instead > of explicitly doing }:y and }.y, the code constructs > headers which point to the same data, thereby saving > time and space. The fix is to make the condition for the > "certain cases" more stringent, viz., when f is a primitive > atomic function. This more stringent condition still > covers 100.0% of the practically useful cases. > > Now if somebody demonstrates cases where 2 f/\y fails > even for f an atomic function (+ - * >. etc.), I would > dispense with the optimization, and just do (}:y) f (}.y).
>From this description, I imagine ]"0 could be used to work around the problem for people using an older version of J? (Will this fix also go into a J6 release?) -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
