Despite the fact that I comprehend only a minimal fraction of the
script (as you will know) I'm nevertheless happy to help out with testing;
here are the results (without the z in the last line) from J v9.03 /
v9.04 on my WX Intel machine:
------------------------------------------------------------
] Kid=: 1 2,_ 1,:_ _
1 2
_ 1
_ _
] Key=: 94 48 92
94 48 92
] Red=: 0 1 1
0 1 1
] N=: 3
3
safeshow 0
1
1
1
|assertion failure: safeshow
| 0<N=:N-1
JVERSION
Engine: j903/j64avx2/windows
Release-a: commercial/2021-12-16T15:15:09
Library: 9.03.08
Platform: Win 64
Installer: J903 install
InstallPath: d:/program files (non-sys)/j903
Contact: www.jsoftware.com
------------------------------------------------------------
Kid=: 1 2,_ 1,:_ _
Key=: 94 48 92
Red=: 0 1 1
N=: 3
safeshow 0
1
1
1
|assertion failure: safeshow
| 0<N=:N-1
JVERSION
Engine: j904/j64avx2/windows
Beta-d: commercial/2022-05-19T20:39:35
Library: 9.04.01
Platform: Win 64
Installer: J904 install
InstallPath: d:/program files (non-sys)/j904
Contact: www.jsoftware.com
------------------------------------------------------------
- M
At 2022-06-15 06:02, you wrote:
I am running into a problem, in J903 and J904 -- I haven't yet
installed earlier versions of J on this machine.
safeshow=: 3 :0
assert. 0 < N=:N-1
z=. ''
assert. 1=#$z
echo #$z
'l r'=. y{Kid
if. l<#Kid do.
z=. '(',(safeshow l),') '
assert. 1=#$z
echo #$z
end.
z=. z,(":y{Key),':','BR'{~y{Red
assert. 1=#$z
echo #$z
if. r<#Kid do.
z=. z,' (',(safeshow r),')'
assert. 1=#$z
echo #$z
end.
Kid=: 1 2,_ 1,:_ _
Key=: 94 48 92
Red=: 0 1 1
N=: 3
safeshow 0
|assertion failure: safeshow
Now, there's a problem here with my data which triggers the assertion
-- Kid should not contain any duplicate values other than _. But
that's not what I am concerned with here.
In Jqt, I enable debugging (control-K) and when the debugger pops up
on the assert, I go back to the previous stack frame, and I find that
z has rank 2, instead of rank 1.
Specifically, it has the value '48:R',' (',:' '
So, now I am trying to figure out what's gone wrong.
Conceptually, I could accept that z was being modified by virtual
block handling -- except there's no update to z which would have given
it a rank 2 value.
Another possibility here is that there's something specifically wrong
with my machine. So: can anyone else reproduce this issue?
And, ... the next most likely possibility is that there's something
wrong with the J engine itself.
Anyways, I'd like to get someone else's perspective here.
Thanks,
--
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm