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

Reply via email to