I think that load'numeric' is missing from your self contained script. load'jpm' start_jpm_ 100000000 1785713 Sava <.1e6 |value error: range | r=. range s,e,2
That said, looking at the error you ran into, I suspect that there must be a (conditional) off-by-one error during the data collection phase. The reason I have this suspicion is that the argument to getdetail1 is a single line which I think represents an invocation of Sava, but the 'rep' variable which is extracted by getdetail2 looks like performance data for the body of Sava. The error itself comes from trying to match up that performance data (variable 'dat' -- 24 rows) with the argument to getdetail1 (variable 'rep' -- 1 row). I would have to play around with a working invocation of jpm to see if I could intuit the intent of this part of the code, maybe do some other studying to see if my suspicion is close to accurate. I hope this helps, -- Raul On Sun, Jun 20, 2021 at 8:47 AM 'Michael Day' via Beta <[email protected]> wrote: > > A recurrent problem with jpm has reasserted itself. I thought we'd > chased it away in earlier > beta versions of J903, but it's been around in earlier releases of J9 > and earlier as far as I > recall. (Checking back-correspondence just now, since typing the > earlier pair of sentences, I'm > not sure it was cured after all, but it's still worth observing there > is a problem somewhere in jpm! ) > I can vouch for jpm working for a similar test earlier today analysing > essentially the same function, > Sav, in J7.01 on my iPad. > > I've corresponded with Henry previously concerning jpm, thought of > sending privately to him > only, but there might be other J-users who wish to comment. > > I've been working on Euler Problem 579, solved by many but not yet by > me. As often is the > case, it's easy for small problems, but the required size is 10^12 ! > Please avoid the listing further > below if you wish to solve it without misleading distractions! > > Here's a mini-session, somewhat contrived for this email: > > JVERSION > > Engine: j903/j64avx2/windows > > Beta-l: commercial/2021-06-17T13:00:27 > > Library: 9.03.05 > > Qt IDE: 1.9.2/5.12.10(5.12.10) > > Platform: Win 64 > > Installer: J903 install > > InstallPath: c:/d/j903-beta > > Contact: www.jsoftware.com > > > clear'' NB. to do with sending in a self-contained mini-script, > further below. > load'jpm' > start_jpm_ 100000000 > 1785713 > Sava <.1e6 > 309358254 1 > showdetail_jpm_ 'Sava' > recorded all lines > used and max record count: 64 1,785,713 > > |index error: getdetail1 > | lns=.sort(len#replno) {~(;repsno)i.stm > > NB. end of session clip > > > NB. and here's a copy of a temporary self-contained (I hope) mini-script > > NB. edited from the working script for the purposes of this enquiry > > > M =: 1000000007 > > NB. look-up table > sum4sq =: (M&|@:+/\) 4 (M&|@^) i.55 NB. cum sum of powers of 4 mod M > > Sava =: 3 : 0 > 10000000 Sava y > : > n =. y NB. problem size > b =. (- 2&|) x NB. block/buffer size must be even > e =. _1 NB. previous block end > t =. 0 NB. total mod M > m =. 0 NB. loop counter (diagnostic only) > NB. define finite arithmetic fns modulo M > by =. M&|@:* NB. > bysq =. by~ @ by NB. square of x * y > add =. M&|@+ > sum =. M&|@:+/ NB. total > NB. ==================================== > g =. +/"1@:#: NB. sum of base-2 rep > logn =. 2 ^. n > while. n >: s =. e + 2 do. > e =. n <. s + b > r =. range s, e, 2 NB. define next block of odd > elements 2i+1, i e. [s, e]%2 > m =. >: m NB. increment loop counter > rgr2 =. (bysq g) r NB. square r * g (r) > max2r=. logn <.@- 2 ^. r NB. indices into look-up table > tr =. rgr2 by max2r { sum4sq NB. rgr2 * sum 4^... > t =. sum tr, t NB. accumulate total > end. > t, m NB. return total and number of loops done > ) > > > Thanks for any help, > > > MIke > > > > -- > This email has been checked for viruses by Avast antivirus software. > https://www.avast.com/antivirus > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
