I do not have a copy of j7.01 on any of my current machines. I could probably install one, but:
If you use the debugger and put a stop on the line which throws the error for you, what is different about the data there? (The error comes from trying to index a 2 element array with the index value 2). Thanks, -- Raul On Sun, Jun 20, 2021 at 10:46 AM 'Michael Day' via Beta <[email protected]> wrote: > > Oh, sorry - it's in my startup script - it does what you'd expect, > range 1 10 2 would be 1 3 5 7 9 . I think/hope it's self-contained > otherwise. > > As I said, jpm ran ok on this earlier today using J7.01, so I wonder > what changed > thtough versions 8 & into 9? > > Thanks as ever, > > Mike > > > On 20/06/2021 15:12, Raul Miller wrote: > > 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 > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
