This program for graycode may be simpler? bin=.2 2 2 2&#: gray=.[:-.[:(=_1|.!.0"1])bin bin i.16 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 gray i.16 0 0 0 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0
Den 19:40 søndag den 17. november 2013 skrev Jose Mario Quintana <[email protected]>: Thanks for the assertion and the correction. I knew it was named after a >person, hence the upper case G, but I am one of those that reads and writes >phonetically (if you know what I mean) and I could not see (hear) the >difference between Gray and grey. > >On Sun, Nov 17, 2013 at 12:06 PM, Henry Rich <[email protected]> wrote: > >> Oh - and it's Gray code, not Grey. It's named not because you don't have >> black-to-white transitions on more than one bit at a time; it's named for >> Frank Gray. >> >> >> Henry Rich >> >> On 11/17/2013 11:24 AM, Jose Mario Quintana wrote: >> >>> My understanding is that Grey codes encode numbers in such a way that the >>> binary representation of consecutive numbers (including the last and first >>> couple) in the sequence can be produced, one from the other, by flipping >>> only one bit. >>> For example, the binary representation of a four bit Grey sequence, of 2^4 >>> numbers, and the flipping bit to produce the next number follows, >>> >>> o=. @: >>> ( Grey=. (xor f. <. o -:) o i. o (2&^)) ( xor=. 22 b. ) >>> (22 b. <.@:-:)@:i.@:(2&^) 22 b. >>> >>> (#: ; (2 #: o (xor/\) ]) o (, {.)) o Grey 4 >>> ┌───────┬───────┐ >>> │0 0 0 0│0 0 0 1│ >>> │0 0 0 1│0 0 1 0│ >>> │0 0 1 1│0 0 0 1│ >>> │0 0 1 0│0 1 0 0│ >>> │0 1 1 0│0 0 0 1│ >>> │0 1 1 1│0 0 1 0│ >>> │0 1 0 1│0 0 0 1│ >>> │0 1 0 0│1 0 0 0│ >>> │1 1 0 0│0 0 0 1│ >>> │1 1 0 1│0 0 1 0│ >>> │1 1 1 1│0 0 0 1│ >>> │1 1 1 0│0 1 0 0│ >>> │1 0 1 0│0 0 0 1│ >>> │1 0 1 1│0 0 1 0│ >>> │1 0 0 1│0 0 0 1│ >>> │1 0 0 0│1 0 0 0│ >>> └───────┴───────┘ >>> >>> However, flipping as many as three bits are sometimes required for the >>> referred sequence, >>> >>> T=. 0 8 12 14 15 13 10 11 9 4 6 7 5 2 3 1 >>> >>> (#: ; (2 #: o (xor/\) ]) o (, {.)) T >>> ┌───────┬───────┐ >>> │0 0 0 0│1 0 0 0│ >>> │1 0 0 0│0 1 0 0│ >>> │1 1 0 0│0 0 1 0│ >>> │1 1 1 0│0 0 0 1│ >>> │1 1 1 1│0 0 1 0│ >>> │1 1 0 1│0 1 1 1│ >>> │1 0 1 0│0 0 0 1│ >>> │1 0 1 1│0 0 1 0│ >>> │1 0 0 1│1 1 0 1│ >>> │0 1 0 0│0 0 1 0│ >>> │0 1 1 0│0 0 0 1│ >>> │0 1 1 1│0 0 1 0│ >>> │0 1 0 1│0 1 1 1│ >>> │0 0 1 0│0 0 0 1│ >>> │0 0 1 1│0 0 1 0│ >>> │0 0 0 1│0 0 0 1│ >>> └───────┴───────┘ >>> >>> Am I missing something? >>> >>> >>> >>> On Fri, Nov 15, 2013 at 2:07 PM, R.E. Boss <[email protected]> wrote: >>> >>> Actually, it IS a (4D binary reflected) Gray code. >>>> >>>> >>>> R.E. Boss >>>> >>>> (Add your info to http://www.jsoftware.com/jwiki/Community/Demographics) >>>> >>>> >>>> -----Original Message----- >>>>> From: [email protected] [mailto:programming- >>>>> [email protected]] On Behalf Of Devon McCormick >>>>> Sent: vrijdag 15 november 2013 19:33 >>>>> To: J-programming forum >>>>> Subject: Re: [Jprogramming] Sets >>>>> >>>>> These look like Gray codes. >>>>> >>>>> On Nov 14, 2013 10:04 PM, "Raul Miller" <[email protected]> wrote: >>>>> >>>>>> >>>>>> Easy enough to add. >>>>>> >>>>>> It's an interesting progression though: >>>>>> >>>>>> #:/:&> (<@#~ 2 #:@i.@^ #)&.> set 2;'b';1;'a' >>>>>> 0 0 0 0 >>>>>> 1 0 0 0 >>>>>> 1 1 0 0 >>>>>> 1 1 1 0 >>>>>> 1 1 1 1 >>>>>> 1 1 0 1 >>>>>> 1 0 1 0 >>>>>> 1 0 1 1 >>>>>> 1 0 0 1 >>>>>> 0 1 0 0 >>>>>> 0 1 1 0 >>>>>> 0 1 1 1 >>>>>> 0 1 0 1 >>>>>> 0 0 1 0 >>>>>> 0 0 1 1 >>>>>> 0 0 0 1 >>>>>> >>>>>> -- >>>>>> Raul >>>>>> >>>>>> On Thu, Nov 14, 2013 at 6:06 PM, km <[email protected]> wrote: >>>>>> >>>>>>> Cool; needs a sort. --Kip >>>>>>> >>>>>>> >>>>>>> psr=: (<@#~ 2 #:@i.@^ #)&.> NB. Raul's >>>>>>> psr set 0;1 >>>>>>> +----------------+ >>>>>>> |++---+---+-----+| >>>>>>> |||+-+|+-+|+-+-+|| >>>>>>> ||||1|||0|||0|1||| >>>>>>> |||+-+|+-+|+-+-+|| >>>>>>> |++---+---+-----+| >>>>>>> +----------------+ >>>>>>> ps set 0;1 NB. list inside box is sorted >>>>>>> +----------------+ >>>>>>> |++---+-----+---+| >>>>>>> |||+-+|+-+-+|+-+|| >>>>>>> ||||0|||0|1|||1||| >>>>>>> |||+-+|+-+-+|+-+|| >>>>>>> |++---+-----+---+| >>>>>>> +----------------+ >>>>>>> >>>>>>> Sent from my iPad >>>>>>> >>>>>>> On Nov 14, 2013, at 3:17 PM, Raul Miller <[email protected]> >>>>>>>> >>>>>>> wrote: >>>>> >>>>>> >>>>>>>> Derived from ps at http://rosettacode.org/wiki/Power_set#J >>>>>>>> >>>>>>>> ps=: (<@#~ 2 #:@i.@^ #)&.> >>>>>>>> >>>>>>>> -- >>>>>>>> Raul >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Nov 14, 2013 at 3:17 PM, km <[email protected]> wrote: >>>>>>>>> Here is my latest attempt at sets in J. Would anyone care to write >>>>>>>>> >>>>>>>> a >>>> >>>>> verb ps (power set) such that ps y is the set of all subsets of set y? >>>>> It's called the power set in part because when a set has n elements >>>>> its >>>>> power set has 2^n elements. --Kip Murray >>>>> >>>>>> >>>>>>>>> NB. A set is a box with a sorted list of boxes inside. >>>>>>>>> NB. An element is the contents of a box in the list. >>>>>>>>> NB. A -: B tests whether set A is set B. >>>>>>>>> >>>>>>>>> set =: [: < [: /:~ ~. NB. create set from list of boxes >>>>>>>>> >>>>>>>>> NB. The list may have duplicates but the set has none. >>>>>>>>> >>>>>>>>> EE =: <$0 NB. empty set, same as Ace a: >>>>>>>>> >>>>>>>>> eo =: <@[ e. >@] NB. test whether x is an element of y >>>>>>>>> >>>>>>>>> uu =: [: set ,&> NB. union >>>>>>>>> >>>>>>>>> mm =: [: < -.&> NB. minus >>>>>>>>> >>>>>>>>> sd =: mm uu mm~ NB. symmetric difference >>>>>>>>> >>>>>>>>> cp =: uu mm sd NB. common part (intersection) >>>>>>>>> >>>>>>>>> ss =: uu -: ] NB. test whether x is a subset of y >>>>>>>>> >>>>>>>>> (set 1;2;3;3) -: set 3;1;2 >>>>>>>>> 1 >>>>>>>>> >>>>>>>>> ]A =: set 2;'b';1;'a' >>>>>>>>> +---------+ >>>>>>>>> |+-+-+-+-+| >>>>>>>>> ||1|2|a|b|| >>>>>>>>> |+-+-+-+-+| >>>>>>>>> +---------+ >>>>>>>>> >>>>>>>>> ]B =: set 'b';'a';4;3;'a' >>>>>>>>> +---------+ >>>>>>>>> |+-+-+-+-+| >>>>>>>>> ||3|4|a|b|| >>>>>>>>> |+-+-+-+-+| >>>>>>>>> +---------+ >>>>>>>>> >>>>>>>>> A uu B >>>>>>>>> +-------------+ >>>>>>>>> |+-+-+-+-+-+-+| >>>>>>>>> ||1|2|3|4|a|b|| >>>>>>>>> |+-+-+-+-+-+-+| >>>>>>>>> +-------------+ >>>>>>>>> >>>>>>>>> A sd B >>>>>>>>> +---------+ >>>>>>>>> |+-+-+-+-+| >>>>>>>>> ||1|2|3|4|| >>>>>>>>> |+-+-+-+-+| >>>>>>>>> +---------+ >>>>>>>>> >>>>>>>>> A cp B >>>>>>>>> +-----+ >>>>>>>>> |+-+-+| >>>>>>>>> ||a|b|| >>>>>>>>> |+-+-+| >>>>>>>>> +-----+ >>>>>>>>> >>>>>>>>> NB. Below is the set of all subsets of set 0;1 >>>>>>>>> >>>>>>>>> set EE;(set <0);(set <1);<set 0;1 >>>>>>>>> +------------------------+ >>>>>>>>> |+--+-----+-------+-----+| >>>>>>>>> ||++|+---+|+-----+|+---+|| >>>>>>>>> ||||||+-+|||+-+-+|||+-+||| >>>>>>>>> ||++|||0|||||0|1|||||1|||| >>>>>>>>> || ||+-+|||+-+-+|||+-+||| >>>>>>>>> || |+---+|+-----+|+---+|| >>>>>>>>> |+--+-----+-------+-----+| >>>>>>>>> +------------------------+ >>>>>>>>> >>>>>>>>> Sent from my iPad >>>>>>>>> >>>>>>>>> ------------------------------------------------------------ >>>> ---------- >>>> >>>>> 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 >>>>> >>>>>> ---------------------------------------------------------------------- >>>>>> 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 >>>> >>>> ---------------------------------------------------------------------- >>> 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 > > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
