I was trying to make shift, but i does not work correct, bacause first
bit is sign,  that is why 255.255.255.255 is -1, and 0.0.0.0 is 1 and
it is not correct to compare them.
0.0.0.0 should be minint, 255.255.255.255 - maxint.

Regards,

On Wed, Dec 14, 2011 at 1:22 PM, Mike Day <[email protected]> wrote:
> Your problem with deal is easily dealt (!) with:
> The vocabulary entry for dyadic ?,  "deal" is
>
>    "x ? yis a list ofxitems randomly chosen/without repetition/fromi.y"
>
> So in particular,  5?5 is a random permutation of i.5  .
>
> The way to get what I think you want is
>
>    ?10#5    NB. eg roll 10  5-sided dice
> 4 2 0 0 2 0 3 1 4 1
>
> Though why you should want to generate ips when you
> have so many already escapes me!
>
> As for "pip" etc,  you _can_ use 32-bit integers in this fashion:
>
> NB. encode, ie shift the 4 elements left 3 2 1 0 bytes
>    24 16 8 0 +/@:(33 b.) 148 99 57 121
> _1805436551
>
> NB. you presumably need to be able to recover the input
> NB. so you need this
>    mask =: 24 16 8 0 (33 b.) 255
>
> NB. to decode, ie unpack the 32-bit integer
>    _24 _16 _8 0 (33 b.) mask (17 b.) _1805436551
> 148 99 57 121
>
> This is sort of equivalent to pip:
>    pip '148.99.57.121'
> 2489530745
>    x:1805436551 + 2489530745
> 4294967296
>    2x^32
> 4294967296
>
> If you're content to use such integers,  you might find
> some more improvement by avoiding the use of extended
> integers.
>
> It's surely surprising that J significantly outperforms K .
> Have you asked the K-gurus what they think, in the k4
> forum?
>
> Mike
>
> On 14/12/2011 10:14 AM, Alexander Epifanov wrote:
>> Hello again,
>> Here my optimized version with ints, its 1.5 faster then float solution.
>> http://dl.dropbox.com/u/34917039/ip.j
>>
>> The main thing: it is much faster than K!
>>
>> Could you let me know, is it possible to optimize time of "f" function?
>> I tryed to represent IP like 4 ints: 192 168 1 1, but this solution
>> works much slower.
>>
>> ips.txt: file with ip addresses
>> ipr.txt: file with ip ranges: ip,ip
>>
>> And the other thing I cannot understand:
>>     5?5
>> 4 1 0 2 3
>>     10?5
>> |domain error
>> |   10    ?5
>> ???
>>
>> Thank you,
>>
>>
> [snipped the rest]
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm



-- 
Regards,
  Alexander.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to