From 5a6bee4fe076e06514c6e4e538590dd3a2a5cdc3 Mon Sep 17 00:00:00 2001 From: "N.N." Date: Fri, 6 Nov 2009 18:37:00 +0000 Subject: upgrade gridflow svn path=/trunk/; revision=12728 --- externals/gridflow/doc/numop.pd | 327 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 327 insertions(+) create mode 100644 externals/gridflow/doc/numop.pd (limited to 'externals/gridflow/doc/numop.pd') 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< \; B \; 0 when A=B \; 1 when A> \; 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 . +; -- cgit v1.2.1