Two remarks:

1) Notation wise (<a:;32)} looks like a cousin of APL [;32]
2) Rank processing involves more overhead (possibly a fixed looping pattern?


1000 ts 'd=. q (<a:;32)} x'

0.000916463 8916096


1000 ts 'c=. q (33})"0 1 x'

0.003424345 8394752



On Tue, Dec 26, 2017 at 11:27 AM, Henry Rich <henryhr...@gmail.com> wrote:

> Note: y =. x m} y  is in-place and faster for that reason.
>
> x=. q 3}&.|: x also does the amend in-place.
>
> It does appear that m}"r goes through rank processing (I thought the rank
> was handled in the verb).
>
> hhr
>
>
> On 12/26/2017 10:44 AM, R.E. Boss wrote:
>
>> x=: 10000 60 ?.@$ 0
>> q=: 10000 ?.@# 0
>>
>>     100 ts 'c=. q (<a:;30)} x'
>> 0.0026698188 8915712
>>     100 ts 'x=. q (<a:;30)} x'
>> 0.00017353792 527104
>>
>>     100 ts 'x=. q 3}&.|: x'
>> 0.0089778759 16780160
>>     100 ts 'd=. q (3})"0 1 x'
>> 0.0073609598 30150016
>>
>>
>> R.E. Boss
>>
>> ​​
>>
>> -----Original Message-----
>>> From: Programming [mailto:programming-boun...@forums.jsoftware.com]
>>> On Behalf Of David Mitchell
>>> Sent: dinsdag 26 december 2017 12:15
>>>
>>> Some choices:
>>>
>>>      2000 ts 'e=. q 3}&.|: x'
>>> 2.56966e_5 3571
>>>      2000 ts 'd=. q (3})"0 1 x'
>>> 5.65454e_5 43648
>>>      2000 ts 'c=. q (<a:;3)} x'
>>> 1.36101e_5 27136
>>>
>>>      $q
>>> 192
>>>      $x
>>> 192 6
>>>
>>> David Mitchell
>>>
>>>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to