#N canvas 633 21 632 706 10;
#X obj 144 46 bng 15 250 50 0 empty empty empty 0 -6 0 8 -4034 -1 -1
;
#X obj 199 651 #finished;
#X obj 103 651 #scan +;
#X obj 265 651 #cast;
#X obj 307 651 #ravel;
#X obj 355 651 #grade;
#X obj 403 651 #perspective;
#X obj 3 651 doc_also;
#X obj 0 0 doc_h;
#X obj 3 347 doc_c 1;
#X obj 3 431 doc_i 2;
#X obj 14 461 doc_ii 0;
#X obj 14 557 doc_ii 1;
#X obj 3 589 doc_o 1;
#X obj 14 619 doc_oo 0;
#X obj 19 285 #out window;
#X obj 14 377 doc_cc 0;
#X obj 97 461 doc_m i0 grid;
#X obj 97 535 doc_m i0 op;
#X obj 97 399 doc_m c0 op;
#X obj 97 557 doc_m i1 grid;
#X obj 97 619 doc_m o0 grid;
#X obj 97 377 doc_m c0 grid;
#X obj 157 651 #join;
#X text 236 47 #outer does the same two-input operation between every
possible pair of the left-side grid and the right side grid.;
#X obj 414 181 display;
#X text 392 114 Multiplication table:;
#X obj 414 161 #outer * (1 2 3 4 5 6 7);
#X msg 414 141 1 2 3 4 5;
#X text 232 461 produces a grid of size Dim(anyA... \, anyB...) \,
where numbers are the results of the operation on every element of
A and every element of B. the resulting array can be very big. Don't
try this on two pictures (the result will have 6 dimensions);
#X obj 232 535 doc_same 0;
#X obj 232 557 doc_same 1;
#X text 232 377 grid B (see below);
#X obj 0 671 doc_f;
#X text 232 399 numop;
#X text 75 125 select pattern;
#X obj 19 127 shunt;
#X obj 19 155 #t;
#X obj 74 155 #t;
#X obj 57 127 tgl 15 0 empty empty empty 0 -6 0 8 -257985 -1 -1 1 1
;
#X obj 144 64 t b b;
#X obj 171 180 # rand;
#X obj 171 199 # * 128;
#X obj 19 107 #for 0 128;
#X obj 19 265 #scale_by 2;
#X obj 74 184 #outer ^;
#X obj 74 204 # * 2;
#X obj 19 184 #outer +;
#X text 18 310 Combine channelless picture with gamma factors (r \,
g \, b);
#X obj 19 245 #outer gamma;
#X msg 171 161 3 # 4 4 4;
#X connect 0 0 40 0;
#X connect 7 1 2 0;
#X connect 7 1 23 0;
#X connect 7 1 1 0;
#X connect 7 1 3 0;
#X connect 7 1 4 0;
#X connect 7 1 5 0;
#X connect 7 1 6 0;
#X connect 17 1 29 0;
#X connect 18 1 30 0;
#X connect 19 1 34 0;
#X connect 20 1 31 0;
#X connect 22 1 32 0;
#X connect 27 0 25 0;
#X connect 28 0 27 0;
#X connect 36 0 37 0;
#X connect 36 1 38 0;
#X connect 37 0 47 0;
#X connect 37 1 47 1;
#X connect 38 0 45 0;
#X connect 38 1 45 1;
#X connect 39 0 36 1;
#X connect 40 0 43 0;
#X connect 40 1 50 0;
#X connect 41 0 42 0;
#X connect 42 0 49 1;
#X connect 43 0 36 0;
#X connect 44 0 15 0;
#X connect 45 0 46 0;
#X connect 46 0 49 0;
#X connect 47 0 49 0;
#X connect 49 0 44 0;
#X connect 50 0 41 0;

