Thank Pascal.  Both yours and Bob' s solution are good, The performance are
almost the same, because virtual block are used.


On Sun, May 24, 2020 at 10:46 PM 'Pascal Jasmin' via Programming <
programm...@jsoftware.com> wrote:

>
>
> to only "reduce" if rank 3 or higher, as Bob's version did
>
> ,/^:(2 -~ #@$)^:(3 <: #@$) i. 4 5
>
> the advantage is only one comparison is needed if shape count is under 3,
> and exactly 2 comparisons if more than 2.
>
>
>
>
>
>
>
>
> ,/^:(2 -~ #@$) i. 1 2 3 4 5
>
>
>
>
>
>
> On Saturday, May 23, 2020, 11:36:20 p.m. EDT, 'robert therriault' via
> Programming <programm...@jsoftware.com> wrote:
>
>
>
>
>
> Hi Bill,
>
> You could use this
>
> ,/^:(2< #@$)^:_
>
>     $ ,/^:(2< #@$)^:_ i.  5
> 5
>   $ ,/^:(2< #@$)^:_ i.  4 5
> 4 5
>   $ ,/^:(2< #@$)^:_ i.  3 4 5
> 12 5
>   $ ,/^:(2< #@$)^:_ i.  2 3 4 5
> 24 5
>   $ ,/^:(2< #@$)^:_ i.  7 2 3 4 5
> 168 5
>
> although Roger or Pascal may have something more elegant.
>
> Cheers, bob
>
> > On May 23, 2020, at 20:09, bill lam <bbill....@gmail.com> wrote:
> >
> > Wow so simple!
> > Thanks Roger, Pascal.
> >
> > Just curious, how to do rank-n to rank-2
> > where n>3
> >
> >
> > On Sun, May 24, 2020, 11:04 AM 'Pascal Jasmin' via Programming <
> > programm...@jsoftware.com> wrote:
> >
> >> ,/ i. 3 4 5
> >>
> >>
> >>
> >>
> >>
> >>
> >> On Saturday, May 23, 2020, 10:56:02 p.m. EDT, bill lam <
> >> bbill....@gmail.com> wrote:
> >>
> >>
> >>
> >>
> >>
> >> I had a problem similar to that of the recent shape question,
> >> a=. i. 3 4 5
> >> to reshape to rank-2 array with trailing shape unchanged that is shape
> 12
> >> 5,
> >> This works but difficult to remember
> >>  (((*/@}: , {: )@: $) $ , ) i. 3 4 5
> >> 0  1  2  3  4
> >> 5  6  7  8  9
> >> 10 11 12 13 14
> >> 15 16 17 18 19
> >> 20 21 22 23 24
> >> 25 26 27 28 29
> >> 30 31 32 33 34
> >> 35 36 37 38 39
> >> 40 41 42 43 44
> >> 45 46 47 48 49
> >> 50 51 52 53 54
> >> 55 56 57 58 59
> >>
> >>  this can also work and easier to remember but Henry Rich said recently
> >> that ]\ doesn't support virtual block yet.
> >>  _5 ]\ ,i. 3 4 5
> >> 0  1  2  3  4
> >> 5  6  7  8  9
> >> 10 11 12 13 14
> >> 15 16 17 18 19
> >> 20 21 22 23 24
> >> 25 26 27 28 29
> >> 30 31 32 33 34
> >> 35 36 37 38 39
> >> 40 41 42 43 44
> >> 45 46 47 48 49
> >> 50 51 52 53 54
> >> 55 56 57 58 59
> >>
> >> Any suggestions of other ways to do it?
> >> ----------------------------------------------------------------------
> >> 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

Reply via email to