aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/doc/flow_classes/#fold-help.pd
diff options
context:
space:
mode:
Diffstat (limited to 'externals/gridflow/doc/flow_classes/#fold-help.pd')
-rw-r--r--externals/gridflow/doc/flow_classes/#fold-help.pd80
1 files changed, 80 insertions, 0 deletions
diff --git a/externals/gridflow/doc/flow_classes/#fold-help.pd b/externals/gridflow/doc/flow_classes/#fold-help.pd
new file mode 100644
index 00000000..0120aad9
--- /dev/null
+++ b/externals/gridflow/doc/flow_classes/#fold-help.pd
@@ -0,0 +1,80 @@
+#N canvas 678 0 632 661 10;
+#X obj 98 184 display;
+#X obj 29 252 display;
+#X text 26 38 Treats the grid as a grid of one- dimensional grids such
+that the same operation (here addition) will be performed on all its
+elements together with the base value. the results are combined back.
+each #fold operation removes a dimension. syntax: #fold <two-input
+operation> <starting value>;
+#X obj 143 249 #to_float;
+#X obj 143 274 print values;
+#X text 6 721 some other forms:;
+#X obj 140 722 #fold *;
+#X obj 17 695 #fold + \, seed 0;
+#X obj 211 722 #fold ^;
+#X obj 284 722 #fold &;
+#X obj 355 722 #fold |;
+#N canvas 0 0 500 313 more 1;
+#X obj 98 82 display;
+#X obj 28 48 #import (2 2 2);
+#X obj 29 170 display;
+#X msg 28 27 1 3 1 3 1 3 1 5;
+#X text 154 24 <-- clicking here creates a grid through [#import];
+#X obj 122 170 #to_float;
+#X obj 122 195 print values;
+#X obj 28 137 #fold + \, seed (0 0);
+#X connect 1 0 0 0;
+#X connect 1 0 7 0;
+#X connect 3 0 1 0;
+#X connect 5 0 6 0;
+#X connect 7 0 2 0;
+#X connect 7 0 5 0;
+#X restore 160 694 pd more info;
+#X msg 28 129 1 3 1 3 1 3 1 3 1 3 1 5;
+#X obj 28 153 #import (2 3 2);
+#X obj 28 224 #fold +;
+#X text 203 129 <-- clicking here creates a grid through [#import]
+;
+#X obj 3 324 doc_c 1;
+#X obj 3 386 doc_i 1;
+#X obj 3 570 doc_o 1;
+#X obj 0 0 doc_h;
+#X obj 14 600 doc_oo 0;
+#X obj 14 416 doc_ii 0;
+#X obj 14 354 doc_cc 0;
+#X text 219 155 [#fold +] computes totals;
+#X text 221 176 [#fold inv+] is an alternated sum (+/-);
+#X text 225 203 [#fold *] can compute the size of a grid using its
+dimension list;
+#X text 229 240 [#fold &] can mean "for all";
+#X text 228 260 [#fold |] can mean "there exists (at least one)";
+#X text 224 282 [#fold ^] can mean "there exists an odd number of..."
+;
+#X obj 97 354 doc_m c0 symbol/numop;
+#X text 232 354 the operator to fold with.;
+#X obj 97 416 doc_m i0 grid;
+#X obj 97 477 doc_m i0 op;
+#X obj 97 499 doc_m i0 seed;
+#X text 232 477 same as arg 0;
+#X text 232 416 replaces every subgrid by the result of a cascade on
+that subgrid. Doing that with seed value 0 and operation + on grid
+"2 3 5 7" will compute ((((0+2)+3)+5)+7) find the total "17".;
+#X text 232 499 the initial value for the folding. (default: whatever
+does nothing for the chosen op \; e.g. 0 + \, 0 - \, 1 * \, ...). this
+can be a grid of any size \, and this decides the size of the subgrids
+we are working on.;
+#X obj 97 600 doc_m o0 grid;
+#X text 232 600 Outputs a grid that has one less dimension than the
+input.;
+#X obj 0 632 doc_f;
+#X connect 3 0 4 0;
+#X connect 12 0 13 0;
+#X connect 13 0 0 0;
+#X connect 13 0 14 0;
+#X connect 14 0 1 0;
+#X connect 14 0 3 0;
+#X connect 29 1 30 0;
+#X connect 31 1 35 0;
+#X connect 32 1 34 0;
+#X connect 33 1 36 0;
+#X connect 37 1 38 0;