I figured it out -- you had in mind

extract_bit=: (%&2 @: (-&{.) , ])  2&|

Then

    tcr }: i:2
1 1 0
1 1 1
0 0 0
0 0 1

The desired result is

    }."1 tcr }: i:2
1 0
1 1
0 0
0 1

(In general, }: i: 2 ^ <: y is all the integers representable in y bits. 
  Your verb needs an adjustment for negative arguments.)

Kip

On 12/29/2011 7:01 PM, Kip Murray wrote:
> What is at please?
>
>      tcr i:4
> |value error: at
> |       tcr i:4
>
>
> Kip
>
> On 12/28/2011 3:06 PM, Raul Miller wrote:
>> This is a variation on the verb binary defined a
>> http://jsoftware.com/pipermail/programming/2011-December/026213.html
>>
>> effective_magnitude=: (2 * |)^:(-.@-: |)
>> bit_count=: 2<.@^. 1>.>./@,@:effective_magnitude
>> extract_bit=: (%&2 at -&{. , ])  2&|
>> binary=: bit_count extract_bit@]^:["1 ,"0
>>
>> tcr=: 2 | binary
>> or
>>
>> tcr=: |@binary
>>
>>
> ----------------------------------------------------------------------
> 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