On 1/29/08, R.E. Boss <[EMAIL PROTECTED]> wrote:
> pp2=: 3 : '1,/:~~.;<@(^~ 2+i.@<:)/"1 (](],.<[EMAIL PROTECTED]:~) 2([EMAIL
> PROTECTED]@<:) 2<[EMAIL PROTECTED]) y'
A variation on this approach which requires slightly less space:
num2=:- i.@<:
pp3=: 1, /:[EMAIL PROTECTED]@;@((] (^~ num2)&.> <[EMAIL PROTECTED]:~) 2
num2@<[EMAIL PROTECTED] ])
10 ts 'pp2 2000000'
0.00050174 91712
10 ts 'pp3 2000000'
0.000478301 78848
Or, if you would like to avoid ~ and hooks:
pp4=: 1, /:[EMAIL PROTECTED]@;@((2 num2@<[EMAIL PROTECTED] ]) ([ ([EMAIL
PROTECTED] ^ [)&.> <[EMAIL PROTECTED]:) ])
--
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm