On the Boolean case, which I would consider the most important, ([: <:@(#/.~) i.@>:@(>./) , ]) is not optimal: a=.0.1> 100000 ?...@$ 0 ia=.I. a 6!:2 '([: <:@(#/.~) i.@>:@(>./) , ]) ia' 0.00682521 6!:2 '(e.~ i.@>:@(>./)) ia' 0.002004 6!:2 '1 ia} (0 $~ >:@(>./)) ia' 0.000679754
So if this is implemented well, there should be some special code for that. On that last method: I can't seem to make it into a single verb. When I input 1 [`]`(0 $~ >:@(>./)@])}~ ia I get a rank error. Also of note, if I use (,1) instead of 1 I get a length error--does the gerund amend just not support extending a scalar? Marshall -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Raul Miller Sent: Sunday, September 05, 2010 7:41 PM To: Programming forum Subject: Re: [Jprogramming] Mask from list of indices with multiplicity On Sun, Sep 5, 2010 at 6:19 PM, Marshall Lochbaum <[email protected]> wrote: > I do really like the idea of this being I.^:_1. A lot of times I have > had an array of indices that I would like to get to an array of 1s, > and I have been forced to use something like (i.n) e. l (list is l, max index is n). > Making I.^:_1 equal to ([: <:@(#/.~) i.@>:@(>./) , ]) would be really > useful. And perhaps !. could be used to specify the maximum index if <./ gets that wrong? -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
