Cutbox


f;.1
Extended
initial writing: 2000-11-17
last updated: 2004-10-21



The dyads x f;.n y for n e. 1 _1 2 _2 has been extended
to accept a boxed left argument, to effect cuts in multiple axes.
x is a boxed vector with up to #$y
elements such that >i{x is a boolean vector
that specifies how axis i is to be cut.
An empty vector on a non-zero axis specifies the entire axis.


For example:

   y=: i.5 7
   (<1 0 1 0 0) <;.1 y
+-----------------+--------------------+
|0 1 2  3  4  5  6|14 15 16 17 18 19 20|
|7 8 9 10 11 12 13|21 22 23 24 25 26 27|
|                 |28 29 30 31 32 33 34|
+-----------------+--------------------+
   (1 0 1 0 0;1 0 0 0 1 0 1) <;.1 y
+-----------+-----+--+
|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|
+-----------+-----+--+
   ('';1 0 0 0 1 0 1) <;.1 y
+-----------+-----+--+
| 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|
+-----------+-----+--+