Never mind!

All I needed to do was to examine

#: 3 msks 32
#: 2 msks 32
#: 1 msks 32

Thanks.

On Fri, Jan 15, 2010 at 2:32 PM, Yuvaraj Athur Raghuvir <
[email protected]> wrote:

> Henry,
>
> 1) Can you explain what you have done and how is it equivalent to what I
> have asked?  I am having trouble understanding particularly after what Dan
> has written as the characteristic of the sequence , viz., number of 1's in
> the binary representation.
>
> 2) OEIS tells me that "3 msks 64" is a sequence "Numbers with binary
> weight  <= 3. " [3]. I am not able to see how
>
>
> Thanks,
> Yuva
>
>
> [3]
> http://www.research.att.com/~njas/sequences/index.html?q=0%2C+1%2C+2%2C+3%2C+4%2C+5%2C+6%2C+7%2C+8%2C+9%2C+10%2C11%2C12%2C13%2C14%2C16%2C17%2C18%2C19%2C20%2C21%2C22%2C24%2C25%2C26%2C28&language=english&go=Search<http://www.research.att.com/%7Enjas/sequences/index.html?q=0%2C+1%2C+2%2C+3%2C+4%2C+5%2C+6%2C+7%2C+8%2C+9%2C+10%2C11%2C12%2C13%2C14%2C16%2C17%2C18%2C19%2C20%2C21%2C22%2C24%2C25%2C26%2C28&language=english&go=Search>
>
>
>
> On Fri, Jan 15, 2010 at 12:04 PM, Henry Rich <[email protected]> wrote:
>
>> With d wired to 2, you can use
>>
>>    msks =: /:~@(> # ]) ~.@,@(+/~)@(0&,)@(i.@:>:@<.&.(2&^.))
>>    msks 64
>> 0 1 2 3 4 5 6 8 9 10 12 16 17 18 20 24 32 33 34 36 40 48
>>
>> If you need to change d, you can use
>>
>>    msks =: (] #~ (>: +/"1...@#:)) i.
>>    2 msks 64
>> 0 1 2 3 4 5 6 8 9 10 12 16 17 18 20 24 32 33 34 36 40 48
>>    3 msks 32
>> 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 24 25 26 28
>>
>>
>> Henry Rich
>>
>>
>> Yuvaraj Athur Raghuvir wrote:
>> > Hello,
>> >
>> > I want to rewrite Java Code[1] to J Code[2] . I want to check with the
>> forum
>> > members if there is a better way to achieve this.
>> >
>> > The issue is that in the setBits loop, the values are set using the
>> > previously set values. In the process of loop elimination, I found a J
>> form
>> > and I hand coded the extension to the desired limit. The questions I
>> have
>> > are:
>> > 1) For the J pattern I have found, is there a way to use ^: or $: forms?
>> > 2) Based on the math behind the Java Code, is there a different way to
>> > achieve this result? I am not able to formulate the problem so I did it
>> the
>> > debugging way.
>> >
>> > Thanks,
>> > Yuva
>> >
>> > Java Code:
>> >     byte[] setBits = new byte[256];
>> >         int d  = 2;
>> >     for (int i = 0; i < 256; ++i) setBits[i] = (byte) ((i & 1) +
>> setBits[i
>> >>> 1]);
>> >     //println(setBits);
>> >     // for every possible key mask...
>> >     masks = new int[0];
>> >     for (int i = 0; i < s; ++i)
>> >       // if d or fewer bits are set...
>> >       if (setBits[(i >> 24) & 0xFF] +
>> >           setBits[(i >> 16) & 0xFF] +
>> >           setBits[(i >>  8) & 0xFF] +
>> >           setBits[ i        & 0xFF] <= d)
>> >         // add it to the list of masks.
>> >         masks = append (masks, i);
>> >
>> > My J Attempt:
>> > ls   =: (33 b.) NB. bit left shift
>> > and  =: (17 b.) NB. bit and
>> > or   =: (23 b.) NB. bit or
>> > exor =: (22 b.) NB. bitwise exclusive or
>> >
>> >
>> >  v0 =: 13 : ' (2&| i...@# y) + (2&| i...@#y)  {~ (_1&ls i...@#y) '
>> >  v1 =: 13 : ' (2&| i...@#y) + ( (-#y) {. (_1&ls i.+:@# y)) { y '
>> >  t2 =. (v0,v...@v0)  NB. t2 i.2 gives a string of length 4 on i.2
>> >  t3 =. (t2,v...@t2)  NB. 2^3
>> >  t4 =. (t3,v...@t3)  NB. 2^4
>> >  t5 =. (t4,v...@t4)  NB. 2^5
>> >  t6 =. (t5,v...@t5)  NB. 2^6
>> >  t7 =. (t6,v...@t6)  NB. 2^7
>> >  t8 =. (t7,v...@t7)  NB. 2^8
>> >  sb =. t8 i.2       NB. setBits
>> >  m0 =. (16bff&and)@:(0&ls + _8&ls + _16&ls + _24&ls) sb
>> >  m1 =. <:&2 m0
>> >  msk =: I. m1           NB. masks
>> >
>> >    t2 i.2
>> > 0 1 1 2
>> >    t3 i.2
>> > 0 1 1 2 1 2 2 3
>> >    t4 i.2
>> > 0 1 1 2 1 2 2 3 1 2 2 3 2 3 3 4
>> > ----------------------------------------------------------------------
>> > For information about J forums see http://www.jsoftware.com/forums.htm
>> >
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>>
>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to