Fixed for the next beta. The error occurred on (sparse list i. dense)
when the sparse list had length > 0 but no non-sparse elements. No
workaround.
The bug was very old.
Henry Rich
On 8/27/2022 4:00 AM, 'Mike Day' via Beta wrote:
“probably, earlier versions of J). “ :
FWIW, on this iPad, running J701, so changing {{}} to 3 : 0 .... ),
(and pritchard to pritch!), I get the same results.
Mike
Sent from my iPad
On 27 Aug 2022, at 02:51, Raul Miller <[email protected]> wrote:
I'm seeing strange behavior with sparse arrays, and I have been mostly
unsuccessful in simplifying code exhibiting the problem. Thus:
pritch=: {{
spokes=. $.,1
primes=. i.0
while. y > #spokes do.
primes=. primes, p=. 2+(}.spokes) i.1 NB. find next prime
rim=. #spokes NB. "length" of "circumference" of wheel
spokes=. (y<.p*rim)$spokes NB. roll next larger wheel
spokes=. 0 ((#~ y>])_1+p*1+i.rim)} spokes
end.
NB. elided code here
primes,1+}.,I.spokes
}}
pritchard 20
2 3 5 7 11 13 17 19
pritch8=: {{
spokes=. $.,1
primes=. i.0
while. y > #spokes do.
primes=. primes, p=. 2+(}.spokes) i.1 NB. find next prime
rim=. #spokes NB. "length" of "circumference" of wheel
spokes=. (y<.p*rim)$spokes NB. roll next larger wheel
spokes=. 8 $. 0 ((#~ y>])_1+p*1+i.rim)} spokes
end. NB. elided code here
primes,1+}.,I.spokes
}}
pritch8 20
2 2 3 5 7 11 13 17 19
Somehow the value for p is different when 8 $. is present in this
particular implementation (though I don't observe similar behavior in
similar uses of 8 $. y).
I'm reporting this on the beta forum, but it's an issue in J903 (and,
probably, earlier versions of J).
FYI,
--
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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm