Using Raul's G total timing becomes
ts 'P=.task 0'
5.68436 1.17707e8
P-:Q
1
FYI
On 14-12-11 15:39, I wrote:
> Here's a first speedup:
>
> ( thanks Dan: (OLD&=)`(,:&NEW) } )
>
> timing of your program:
>
> ts 'Q=.AE 0'
> 30.4894 1.05856e8
>
>
> speedup by converter makeNum
>
>
> ts 'P=.task 0'
> 5.79403 1.17706e8
>
> P-:Q
> 1
>
> makeNum=: 256 #. 128 0 0 0 -"1~ [: ". =&'.'`(,:&' ')}
>
> task=: 3 :0
> IP=. }:;._2 (1!:1<fips)
> IPR=. }:;._2 (1!:1< fiprs)
> ips=. makeNum IP
> 'a b c'=. |: ;:"1 IPR
> a =. makeNum a
> c =. makeNum c
> 'l r'=._1 0+ (/:{."1)&. |:a,:c
> m =. (pip'0.0.0.0'),(1+>./ @: {.&r)"0 (1+i.#l)
> f =. < m {~ I.~&l
> f"1 ips
> )
>
> ===============
> Your program
> ===============
> pip =: (256 #. (-&128 @: {.) , }.) @: (".;._2@:,&'.')
>
> AE=: 3 :0
> ips =. pip"1 (_1&}.;._2 (1!:1<fips))
> iprs =. |:pip;._1 "1 (','&,)"1 (_1&}.;._2 (1!:1<fiprs))
> i =. /:{.iprs
> l =. _1+ i{{.iprs
> r =. i{{:iprs
> m =. (pip'0.0.0.0'),(1+>./ @: {.&r)"0 (1+i.#l)
> NB. m =: __,(1+>./ @: {.&r)"0 (1+i.#l)
> f =. < m {~ I.~&l
> f"1 ips
> )
>
--
Met vriendelijke groet,
@@i = Arie Groeneveld
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm