The assert. is invalid because of floating-point precision, and it shows
up in J901 because of order of operations. For a quick fix either
delete it or replace it with
assert*./all>:!.1e_12 her
Henry Rich
On 4/29/2019 1:54 PM, 'Mike Day' via Beta wrote:
I think the "also" paragraph in my earlier message, below, might have
been overlooked.
I quite often use jpm to check performance line by line. I can't say
it doesn't work in any
circumstances in J901 beta-d, but it does seem to have got more
unstable:
For example, in J807:
JVERSION
Engine: j807/j64/windows
Release-d: commercial/2019-03-18T13:21:35
Library: 8.07.25
Qt IDE: 1.7.9/5.9.6
Platform: Win 64
Installer: J807 install
InstallPath: c:/d/j807
Contact: www.jsoftware.com
load'jpm'
start_jpm_ 100000000
1785713
f 1000
117002
showdetail_jpm_ 'f'
recorded all lines
used and max record count: 3,767 1,785,713
Time (seconds)
+--------+--------+---+----------------------------------+
|all |here |rep|f |
+--------+--------+---+----------------------------------+
|2.045513|0.000030|1 |monad +/@:,@:((] #~ >:) +/"1@:flp)|
+--------+--------+---+----------------------------------+
showdetail_jpm_ 'flp' NB. I've removed several lines!!!
Time (seconds)
+--------+--------+---+-------------------------------------------------------+
|all |here
|rep|flp |
+--------+--------+---+-------------------------------------------------------+
|0.000002|0.000002|1
|monad |
|2.045486|0.376456|1 |[0] y flp~(;~)0
2$0 |
|2.045488|0.376458|1 |total
monad |
| // | // | |
// |
|0.000002|0.000002|
1|dyad |
|0.000772|0.000772|233|[10]
l=.l,next |
| // | // | |
// |
|0.001721|0.001721| 1|[14]
/:~l |
|2.045466|1.601660| 1|total
dyad |
| // | // | |
// |
|2.045488|1.601682|2 |total
definition |
+--------+--------+---+-------------------------------------------------------+
while, in J901:
JVERSION
Engine: j901/j64/windows
Beta-d: commercial/2019-04-21T12:38:39
Library: 9.01.03
Qt IDE: 1.8.2/5.12.2
Platform: Win 64
Installer: J901 install
InstallPath: c:/d/j901
Contact: www.jsoftware.com
load'jpm'
start_jpm_ 100000000
1785713
f 1000
117002
showdetail_jpm_ 'f' NB. OK - it does work for this cover fn
recorded all lines
used and max record count: 3,765 1,785,713
Time (seconds)
+--------+--------+---+---------------------------------+
|all |here |rep|f |
+--------+--------+---+---------------------------------+
|1.930585|0.000020|1 |dyad +/@:,@:((] #~ >:) +/"1@:flp)|
+--------+--------+---+---------------------------------+
showdetail_jpm_ 'flp'NB. the one I'm interested in!!!
|assertion failure: assert
| assert*./all>:her
I imagine that the record count isn't a problem
Is "jpm" deprecated now?
Thanks,
Mike
On 25/04/2019 17:51, Mike Day wrote:
Thanks. I wondered whether limits had changed. Is there any
user-control available re recursion? I usually try to avoid it, but
if I’m using someone else’s code...
Also - I can’t give chapter and verse right now as away from J901
with this iPad: I recently tried to use jpm to check timings on
lines of code but kept hitting an error when invoking showdetail_jpm_
, no matter how large the argument to start_jpm_ ,
Thanks
Mike
Please reply to [email protected].
Sent from my iPad
On 24 Apr 2019, at 19:32, Henry Rich <[email protected]> wrote:
It did indicate trouble elsewhere. Thanks for the report.
The code still gives stack error in J901. The recursion limit has
been reduced.
Henry Rich
On 4/24/2019 3:28 AM, 'Mike Day' via Beta wrote:
Another problem, (in Beta c as I'd rolled back) - not too important
in itself but might
indicate trouble elsewere
J Wiki Essay
https://code.jsoftware.com/wiki/Essays/Partitions#The_Number_of_Partitions
The/memo/adverb M.can be used to advantage here.
pn =: -/@(+/)@:($:"0)@rec ` (x:@(0&=)) @. (0>:]) M.
rec=: - (-: (*"1) _1 1 +/ 3 * ]) @ (>:@i.@>.@%:@((2%3)&*))
pn 1000
24061467864032622473692149727991
But:
pn 1000
|stack error: rec
| pn 1000
pn 100
190569292
JVERSION
Engine: j901/j64/windows
Beta-c: commercial/2019-04-03T11:03:34
Library: 9.01.03
Qt IDE: 1.8.2/5.12.2
Platform: Win 64
Installer: J901 install
InstallPath: c:/d/j901
Contact: www.jsoftware.com
whereas it worked in J8:
pn 1000
24061467864032622473692149727991
JVERSION
Engine: j807/j64/windows
Release-d: commercial/2019-03-18T13:21:35
Library: 8.07.25
Qt IDE: 1.7.9/5.9.6
Platform: Win 64
Installer: J807 install
InstallPath: c:/d/j807
Contact: www.jsoftware.com
Thanks,
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
---
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
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