#N canvas 668 0 632 642 10; #X obj 19 39 bng 15 250 50 0 empty empty empty 0 -6 0 8 -233017 -1 -1; #X obj 19 130 spigot; #X obj 100 130 spigot; #X obj 67 130 == 0; #X obj 67 39 tgl 15 0 empty empty empty 0 -6 0 8 -233017 -1 -1 0 1 ; #X text 88 40 select pattern; #X text 17 296 combine channelless picture with gamma factors (r \, g \, b); #X obj 19 89 until; #X msg 19 68 128; #X obj 60 89 float 1; #X obj 115 89 + 1; #X obj 171 90 until; #X obj 212 90 float 1; #X obj 267 90 + 1; #X msg 171 69 4; #X obj 199 622 #finished; #X obj 103 622 #scan +; #X obj 265 622 #cast; #X obj 307 622 #ravel; #X obj 355 622 #grade; #X obj 403 622 #perspective; #X obj 171 111 #import (3); #X obj 171 132 # * 128; #X obj 19 109 #import (128); #X obj 19 162 #outer +; #X obj 100 161 #outer ^; #X obj 100 181 # * 2; #X obj 19 255 #outer gamma; #X obj 3 622 doc_also; #X obj 0 0 doc_h; #X obj 3 320 doc_c 1; #X obj 3 404 doc_i 2; #X obj 14 434 doc_ii 0; #X obj 14 530 doc_ii 1; #X obj 3 562 doc_o 1; #X obj 14 592 doc_oo 0; #X obj 19 277 #out window; #X obj 14 350 doc_cc 0; #X obj 97 434 doc_m i0 grid; #X obj 97 508 doc_m i0 op; #X obj 97 372 doc_m c0 op; #X obj 97 530 doc_m i1 grid; #X obj 97 592 doc_m o0 grid; #X obj 97 350 doc_m c0 grid; #X obj 157 622 #join; #X text 171 250 #outer does the same two-input operation between every possible pair of the left-side grid and the right side grid.; #X obj 392 102 display; #X text 387 32 Multiplication table:; #X obj 391 79 #outer * (1 2 3 4 5 6 7); #X msg 391 56 1 2 3 4 5; #X text 232 434 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 text 232 508 same as arg 0; #X text 232 530 same as arg 1; #X text 232 350 grid B (see below); #X obj 0 642 doc_f; #X text 232 372 numop; #X connect 0 0 8 0; #X connect 0 0 14 0; #X connect 1 0 24 0; #X connect 1 0 24 1; #X connect 2 0 25 0; #X connect 2 0 25 1; #X connect 3 0 2 1; #X connect 4 0 1 1; #X connect 4 0 3 0; #X connect 7 0 9 0; #X connect 8 0 7 0; #X connect 9 0 10 0; #X connect 9 0 23 0; #X connect 10 0 9 1; #X connect 11 0 12 0; #X connect 12 0 13 0; #X connect 12 0 21 0; #X connect 13 0 12 1; #X connect 14 0 11 0; #X connect 21 0 22 0; #X connect 22 0 27 1; #X connect 23 0 1 0; #X connect 23 0 2 0; #X connect 24 0 27 0; #X connect 25 0 26 0; #X connect 26 0 27 0; #X connect 27 0 36 0; #X connect 28 1 16 0; #X connect 28 1 44 0; #X connect 28 1 15 0; #X connect 28 1 17 0; #X connect 28 1 18 0; #X connect 28 1 19 0; #X connect 28 1 20 0; #X connect 38 1 50 0; #X connect 39 1 51 0; #X connect 40 1 55 0; #X connect 41 1 52 0; #X connect 43 1 53 0; #X connect 48 0 46 0; #X connect 49 0 48 0;