To conclude: (NB. beware of line wraps!)
First, all output is equal
2-:&>/\ ".&.> 'nv^:(i.5!28)_28{.5#1';'nv3^:(i.5!28)_28{.5#1';'#:
nc^:(i.5!28) 31';'#: nct^:(i.5!28) 31';'#: 5 ncb 28'
1 1 1 1
although some verbs perform better than others:
('nv';'nv3';'nc';'nct';'ncb')rnkng score 'nv^:(i.5!28)_28{.5#1';
'nv3^:(i.5!28)_28{.5#1'; '#: nc^:(i.5!28) 31'; '#: nct^:(i.5!28) 31';
'#: 5 ncb 28'
+-----+-------+------+----+-----+
|place| rlprf | rlt |rls |verbs|
+-----+-------+------+----+-----+
|3 | 861.83|216.89|3.97| nv |
+-----+-------+------+----+-----+
|4 |1029.54|259.10|3.97| nv3 |
+-----+-------+------+----+-----+
|2 | 580.08|210.85|2.75| nc |
+-----+-------+------+----+-----+
|1 | 207.48| 75.42|2.75| nct |
+-----+-------+------+----+-----+
|0 | 1.00| 1.00|1.00| ncb |
+-----+-------+------+----+-----+
where the verbs are
+----+---------------------------------------------------------------------+
| nv |+-+-+--------------------------------+ |
| ||3|:| j=. 0 i:~ (>: +./\.) y | |
| || | | (j{.y),1,(1+j-#y){.1$~_1++/j}.y| |
| |+-+-+--------------------------------+ |
+----+---------------------------------------------------------------------+
| nv3|+-+-+---------------------------------------+ |
| ||3|:| one=.y i: 1 | |
| || | | zer=.y i: 0 | |
| || | | if. one < zer do. | |
| || | | zer=. (one {. y) i: 0 | |
| || | | 1 0 (zer+0 1)} y /: y+2*(2+zer)<.i.#y| |
| || | | else. | |
| || | | 1 0 (zer+0 1)} y | |
| || | | end. | |
| |+-+-+---------------------------------------+ |
+----+---------------------------------------------------------------------+
| nc |+-+-+--------------------------------+ |
| ||3|:| n=. y | |
| || | | t=. n xor n and n-1 | |
| || | | b=. t+n | |
| || | | b or _2 shift (b xor n) <[EMAIL PROTECTED] t|
|
| |+-+-+--------------------------------+ |
+----+---------------------------------------------------------------------+
| nct|(] 23 b. (_2"_) 33 b. -~ <[EMAIL PROTECTED] ] 22 b. [) (] + ] 22 b. ] 17
b. ]- 1:)|
+----+---------------------------------------------------------------------+
| ncb|[: |.@; [: (+&.> <@;\.)/ [ */&(2 <[EMAIL PROTECTED] |[EMAIL PROTECTED])
>:@-~ |
+----+---------------------------------------------------------------------+
R.E. Boss
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm