aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/doc/numop.pd
diff options
context:
space:
mode:
Diffstat (limited to 'externals/gridflow/doc/numop.pd')
-rw-r--r--externals/gridflow/doc/numop.pd327
1 files changed, 327 insertions, 0 deletions
diff --git a/externals/gridflow/doc/numop.pd b/externals/gridflow/doc/numop.pd
new file mode 100644
index 00000000..c1d8efbf
--- /dev/null
+++ b/externals/gridflow/doc/numop.pd
@@ -0,0 +1,327 @@
+#N canvas 0 0 1024 768 10;
+#X obj 0 0 cnv 15 1024 30 empty empty empty 20 12 0 14 20 -66577 0;
+#X text 10 0 op name;
+#X text 96 0 description;
+#X text 512 0 effect on pixels;
+#X text 768 0 effect on coords;
+#X obj 0 52 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 52 op ignore;
+#X text 96 52 A ;
+#X text 512 52 no effect;
+#X text 768 52 no effect;
+#X obj 0 84 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 84 op put;
+#X text 96 84 B ;
+#X text 512 84 replace by;
+#X text 768 84 replace by;
+#X obj 0 116 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 116 op +;
+#X text 96 116 A + B ;
+#X text 512 116 brightness \, crossfade;
+#X text 768 116 move \, morph;
+#X obj 0 148 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 148 op -;
+#X text 96 148 A - B ;
+#X text 512 148 brightness \, motion detection;
+#X text 768 148 move \, motion detection;
+#X obj 0 180 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 180 op inv+;
+#X text 96 180 B - A ;
+#X text 512 180 negate then contrast;
+#X text 768 180 180 degree rotate then move;
+#X obj 0 212 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 212 op *;
+#X text 96 212 A * B ;
+#X text 512 212 contrast;
+#X text 768 212 zoom out;
+#X obj 0 244 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 244 op /;
+#X text 96 244 A / B \, rounded towards zero ;
+#X text 512 244 contrast;
+#X text 768 244 zoom in;
+#X obj 0 276 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 276 op div;
+#X text 96 276 A / B \, rounded downwards ;
+#X text 512 276 contrast;
+#X text 768 276 zoom in;
+#X obj 0 308 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 308 op inv*;
+#X text 96 308 B / A \, rounded towards zero ;
+#X obj 0 340 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 340 op swapdiv;
+#X text 96 340 B / A \, rounded downwards ;
+#X obj 0 372 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 372 op %;
+#X text 96 372 A % B \, modulo (goes with div) ;
+#X text 512 372 --;
+#X text 768 372 tile;
+#X obj 0 404 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 404 op swap%;
+#X text 96 404 B % A \, modulo (goes with div) ;
+#X obj 0 436 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 436 op rem;
+#X text 96 436 A % B \, remainder (goes with /) ;
+#X obj 0 468 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 468 op swaprem;
+#X text 96 468 B % A \, remainder (goes with /) ;
+#X obj 0 500 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 500 op gcd;
+#X text 96 500 greatest common divisor;
+#X obj 0 532 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 532 op lcm;
+#X text 96 532 least common multiple;
+#X obj 0 564 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 564 op |;
+#X text 96 564 A or B \, bitwise ;
+#X text 512 564 bright munchies;
+#X text 768 564 bottomright munchies;
+#X obj 0 596 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 596 op ^;
+#X text 96 596 A xor B \, bitwise ;
+#X text 512 596 symmetric munchies (fractal checkers);
+#X text 768 596 symmetric munchies (fractal checkers);
+#X obj 0 628 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 628 op &;
+#X text 96 628 A and B \, bitwise ;
+#X text 512 628 dark munchies;
+#X text 768 628 topleft munchies;
+#X obj 0 660 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 660 op <<;
+#X text 96 660 A * (2**(B % 32)) \, which is left-shifting ;
+#X text 512 660 like *;
+#X text 768 660 like *;
+#X obj 0 692 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 692 op >>;
+#X text 96 692 A / (2**(B % 32)) \, which is right-shifting ;
+#X text 512 692 like / \, div;
+#X text 768 692 like / \, div;
+#X obj 0 724 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 724 op ||;
+#X text 96 724 if A is zero then B else A ;
+#X obj 0 756 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 756 op &&;
+#X text 96 756 if A is zero then zero else B;
+#X obj 0 788 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 788 op min;
+#X text 96 788 the lowest value in A \, B ;
+#X text 512 788 clipping;
+#X text 768 788 clipping (of individual points);
+#X obj 0 820 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 820 op max;
+#X text 96 820 the highest value in A \, B ;
+#X text 512 820 clipping;
+#X text 768 820 clipping (of individual points);
+#X obj 0 852 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 852 op cmp;
+#X text 96 852 -1 when A&lt \; B \; 0 when A=B \; 1 when A&gt \; B. ;
+#X obj 0 884 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 884 op ==;
+#X text 96 884 is A equal to B ? 1=true \, 0=false ;
+#X obj 0 916 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 916 op !=;
+#X text 96 916 is A not equal to B ? ;
+#X obj 0 948 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 948 op >;
+#X text 96 948 is A greater than B ? ;
+#X obj 0 980 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 980 op <=;
+#X text 96 980 is A not greater than B ? ;
+#X obj 0 1012 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1012 op <;
+#X text 96 1012 is A less than B ? ;
+#X obj 0 1044 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1044 op >=;
+#X text 96 1044 is A not less than B ? ;
+#X obj 0 1076 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1076 op sin*;
+#X text 96 1076 B * sin(A) in centidegrees ;
+#X text 512 1076 --;
+#X text 768 1076 waves \, rotations;
+#X obj 0 1108 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1108 op cos*;
+#X text 96 1108 B * cos(A) in centidegrees ;
+#X text 512 1108 --;
+#X text 768 1108 waves \, rotations;
+#X obj 0 1140 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1140 op atan;
+#X text 96 1140 arctan(A/B) in centidegrees ;
+#X text 512 1140 --;
+#X text 768 1140 find angle to origin (part of polar transform);
+#X obj 0 1172 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1172 op tanh*;
+#X text 96 1172 B * tanh(A) in centidegrees ;
+#X text 512 1172 smooth clipping;
+#X text 768 1172 smooth clipping (of individual points) \, neural sigmoid \, fuzzy logic;
+#X obj 0 1204 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1204 op log*;
+#X text 96 1204 B * log(A) (in base e) ;
+#X obj 0 1236 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1236 op gamma;
+#X text 96 1236 floor(pow(a/256.0 \, 256.0/b)*256.0) ;
+#X text 512 1236 gamma correction;
+#X obj 0 1268 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1268 op **;
+#X text 96 1268 A**B \, that is \, A raised to power B ;
+#X text 512 1268 gamma correction;
+#X obj 0 1300 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1300 op abs-;
+#X text 96 1300 absolute value of (A-B) ;
+#X obj 0 1332 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1332 op rand;
+#X text 96 1332 randomly produces a non-negative number below A ;
+#X obj 0 1364 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1364 op sqrt;
+#X text 96 1364 square root of A \, rounded downwards ;
+#X obj 0 1396 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1396 op sq-;
+#X text 96 1396 (A-B) times (A-B) ;
+#X obj 0 1428 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1428 op avg;
+#X text 96 1428 (A+B)/2 ;
+#X obj 0 1460 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1460 op hypot;
+#X text 96 1460 distance function: square root of (A*A+B*B) ;
+#X obj 0 1492 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1492 op clip+;
+#X text 96 1492 like A+B but overflow causes clipping instead of wrapping around (coming soon) ;
+#X obj 0 1524 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1524 op clip-;
+#X text 96 1524 like A-B but overflow causes clipping instead of wrapping around (coming soon) ;
+#X obj 0 1556 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1556 op erf*;
+#X text 96 1556 integral of e^(-x*x) dx ... (coming soon \; what ought to be the scaling factor?) ;
+#X obj 0 1588 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1588 op weight;
+#X text 96 1588 number of "1" bits in an integer;
+#X obj 0 1620 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1620 op sin;
+#X text 96 1620 sin(A-B) in radians \, float only;
+#X obj 0 1652 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1652 op cos;
+#X text 96 1652 cos(A-B) in radians \, float only;
+#X obj 0 1684 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1684 op atan2;
+#X text 96 1684 atan2(A \, B) in radians \, float only;
+#X obj 0 1716 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1716 op tanh;
+#X text 96 1716 tanh(A-B) in radians \, float only;
+#X obj 0 1748 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1748 op exp;
+#X text 96 1748 exp(A-B) in radians \, float only;
+#X obj 0 1780 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1780 op log;
+#X text 96 1780 log(A-B) in radians \, float only;
+#X obj 0 1832 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1832 op C.* ;
+#X text 96 1832 A*B;
+#X obj 0 1864 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1864 op C.*conj;
+#X text 96 1864 A*conj(B);
+#X obj 0 1896 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1896 op C./ ;
+#X text 96 1896 A/B;
+#X obj 0 1928 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1928 op C./conj;
+#X text 96 1928 A/conj(B);
+#X obj 0 1960 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1960 op C.sq- ;
+#X text 96 1960 (A-B)*(A-B);
+#X obj 0 1992 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1992 op C.abs- ;
+#X text 96 1992 abs(A-B);
+#X obj 0 2024 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 2024 op C.sin ;
+#X text 96 2024 sin(A-B);
+#X obj 0 2056 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 2056 op C.cos ;
+#X text 96 2056 cos(A-B);
+#X obj 0 2088 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 2088 op C.tanh ;
+#X text 96 2088 tanh(A-B);
+#X obj 0 2120 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 2120 op C.exp ;
+#X text 96 2120 exp(A-B);
+#X obj 0 2152 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 2152 op C.log ;
+#X text 96 2152 log(A-B);
+#X obj 10 2194 outlet;
+#X connect 6 0 245 0;
+#X connect 11 0 245 0;
+#X connect 16 0 245 0;
+#X connect 21 0 245 0;
+#X connect 26 0 245 0;
+#X connect 31 0 245 0;
+#X connect 36 0 245 0;
+#X connect 41 0 245 0;
+#X connect 46 0 245 0;
+#X connect 49 0 245 0;
+#X connect 52 0 245 0;
+#X connect 57 0 245 0;
+#X connect 60 0 245 0;
+#X connect 63 0 245 0;
+#X connect 66 0 245 0;
+#X connect 69 0 245 0;
+#X connect 72 0 245 0;
+#X connect 77 0 245 0;
+#X connect 82 0 245 0;
+#X connect 87 0 245 0;
+#X connect 92 0 245 0;
+#X connect 97 0 245 0;
+#X connect 100 0 245 0;
+#X connect 103 0 245 0;
+#X connect 108 0 245 0;
+#X connect 113 0 245 0;
+#X connect 116 0 245 0;
+#X connect 119 0 245 0;
+#X connect 122 0 245 0;
+#X connect 125 0 245 0;
+#X connect 128 0 245 0;
+#X connect 131 0 245 0;
+#X connect 134 0 245 0;
+#X connect 139 0 245 0;
+#X connect 144 0 245 0;
+#X connect 149 0 245 0;
+#X connect 154 0 245 0;
+#X connect 157 0 245 0;
+#X connect 161 0 245 0;
+#X connect 165 0 245 0;
+#X connect 168 0 245 0;
+#X connect 171 0 245 0;
+#X connect 174 0 245 0;
+#X connect 177 0 245 0;
+#X connect 180 0 245 0;
+#X connect 183 0 245 0;
+#X connect 186 0 245 0;
+#X connect 189 0 245 0;
+#X connect 192 0 245 0;
+#X connect 195 0 245 0;
+#X connect 198 0 245 0;
+#X connect 201 0 245 0;
+#X connect 204 0 245 0;
+#X connect 207 0 245 0;
+#X connect 210 0 245 0;
+#X connect 213 0 245 0;
+#X connect 216 0 245 0;
+#X connect 219 0 245 0;
+#X connect 222 0 245 0;
+#X connect 225 0 245 0;
+#X connect 228 0 245 0;
+#X connect 231 0 245 0;
+#X connect 234 0 245 0;
+#X connect 237 0 245 0;
+#X connect 240 0 245 0;
+#X connect 243 0 245 0;
+#X obj 95 0 cnv 0 0 2214 empty empty empty -1 12 0 14 0 -66577 0;
+#X obj 511 0 cnv 0 0 2214 empty empty empty -1 12 0 14 0 -66577 0;
+#X obj 767 0 cnv 0 0 2214 empty empty empty -1 12 0 14 0 -66577 0;
+#X obj 0 32 cnv 15 1024 18 empty empty empty 20 12 0 14 -248881 -66577 0;
+#X text 10 32 numops;
+#X obj 0 1812 cnv 15 1024 18 empty empty empty 20 12 0 14 -248881 -66577 0;
+#X text 10 1812 vecops for complex numbers;
+#X text 10 2214
+ note: a centidegree is 0.01 degree. There are 36000 centidegrees in a circle.
+ Some angle operators use centidegrees \, while some others use radians. To
+ convert degrees into centidegrees \, multiply by 100.
+ To convert degrees into radians \, divide by 57.2957 .
+ Thus \, to convert centidegrees into radians \, divide by 5729.57 .
+;