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.pd254
1 files changed, 254 insertions, 0 deletions
diff --git a/externals/gridflow/doc/numop.pd b/externals/gridflow/doc/numop.pd
new file mode 100644
index 00000000..6e46041a
--- /dev/null
+++ b/externals/gridflow/doc/numop.pd
@@ -0,0 +1,254 @@
+#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 48 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 48 op ignore;
+#X text 96 48 A ;
+#X text 512 48 no effect;
+#X text 768 48 no effect;
+#X obj 0 80 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 80 op put;
+#X text 96 80 B ;
+#X text 512 80 replace by;
+#X text 768 80 replace by;
+#X obj 0 112 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 112 op +;
+#X text 96 112 A + B ;
+#X text 512 112 brightness \, crossfade;
+#X text 768 112 move \, morph;
+#X obj 0 144 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 144 op -;
+#X text 96 144 A - B ;
+#X text 512 144 brightness \, motion detection;
+#X text 768 144 move \, motion detection;
+#X obj 0 176 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 176 op inv+;
+#X text 96 176 B - A ;
+#X text 512 176 negate then contrast;
+#X text 768 176 180 degree rotate then move;
+#X obj 0 208 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 208 op *;
+#X text 96 208 A * B ;
+#X text 512 208 contrast;
+#X text 768 208 zoom out;
+#X obj 0 240 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 240 op /;
+#X text 96 240 A / B \, rounded towards zero ;
+#X text 512 240 contrast;
+#X text 768 240 zoom in;
+#X obj 0 272 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 272 op div;
+#X text 96 272 A / B \, rounded downwards ;
+#X text 512 272 contrast;
+#X text 768 272 zoom in;
+#X obj 0 304 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 304 op inv*;
+#X text 96 304 B / A \, rounded towards zero ;
+#X obj 0 336 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 336 op swapdiv;
+#X text 96 336 B / A \, rounded downwards ;
+#X obj 0 368 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 368 op %;
+#X text 96 368 A % B \, modulo (goes with div) ;
+#X text 512 368 --;
+#X text 768 368 tile;
+#X obj 0 400 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 400 op swap%;
+#X text 96 400 B % A \, modulo (goes with div) ;
+#X obj 0 432 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 432 op rem;
+#X text 96 432 A % B \, remainder (goes with /) ;
+#X obj 0 464 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 464 op swaprem;
+#X text 96 464 B % A \, remainder (goes with /) ;
+#X obj 0 496 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 496 op gcd;
+#X text 96 496 greatest common divisor;
+#X obj 0 528 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 528 op lcm;
+#X text 96 528 least common multiple;
+#X obj 0 560 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 560 op |;
+#X text 96 560 A or B \, bitwise ;
+#X text 512 560 bright munchies;
+#X text 768 560 bottomright munchies;
+#X obj 0 592 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 592 op ^;
+#X text 96 592 A xor B \, bitwise ;
+#X text 512 592 symmetric munchies (fractal checkers);
+#X text 768 592 symmetric munchies (fractal checkers);
+#X obj 0 624 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 624 op &;
+#X text 96 624 A and B \, bitwise ;
+#X text 512 624 dark munchies;
+#X text 768 624 topleft munchies;
+#X obj 0 656 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 656 op <<;
+#X text 96 656 A * (2**(B % 32)) \, which is left-shifting ;
+#X text 512 656 like *;
+#X text 768 656 like *;
+#X obj 0 688 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 688 op >>;
+#X text 96 688 A / (2**(B % 32)) \, which is right-shifting ;
+#X text 512 688 like / \, div;
+#X text 768 688 like / \, div;
+#X obj 0 720 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 720 op ||;
+#X text 96 720 if A is zero then B else A ;
+#X obj 0 752 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 752 op &&;
+#X text 96 752 if A is zero then zero else B;
+#X obj 0 784 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 784 op min;
+#X text 96 784 the lowest value in A \, B ;
+#X text 512 784 clipping;
+#X text 768 784 clipping (of individual points);
+#X obj 0 816 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 816 op max;
+#X text 96 816 the highest value in A \, B ;
+#X text 512 816 clipping;
+#X text 768 816 clipping (of individual points);
+#X obj 0 848 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 848 op cmp;
+#X text 96 848 -1 when A&lt \; B \; 0 when A=B \; 1 when A&gt \; B. ;
+#X obj 0 880 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 880 op ==;
+#X text 96 880 is A equal to B ? 1=true \, 0=false ;
+#X obj 0 912 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 912 op !=;
+#X text 96 912 is A not equal to B ? ;
+#X obj 0 944 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 944 op >;
+#X text 96 944 is A greater than B ? ;
+#X obj 0 976 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 976 op <=;
+#X text 96 976 is A not greater than B ? ;
+#X obj 0 1008 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1008 op <;
+#X text 96 1008 is A less than B ? ;
+#X obj 0 1040 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1040 op >=;
+#X text 96 1040 is A not less than B ? ;
+#X obj 0 1072 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1072 op sin*;
+#X text 96 1072 B * sin(A) in centidegrees ;
+#X text 512 1072 --;
+#X text 768 1072 waves \, rotations;
+#X obj 0 1104 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1104 op cos*;
+#X text 96 1104 B * cos(A) in centidegrees ;
+#X text 512 1104 --;
+#X text 768 1104 waves \, rotations;
+#X obj 0 1136 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1136 op atan;
+#X text 96 1136 arctan(A/B) in centidegrees ;
+#X text 512 1136 --;
+#X text 768 1136 find angle to origin (part of polar transform);
+#X obj 0 1168 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1168 op tanh*;
+#X text 96 1168 B * tanh(A) in centidegrees ;
+#X text 512 1168 smooth clipping;
+#X text 768 1168 smooth clipping (of individual points) \, neural sigmoid \, fuzzy logic;
+#X obj 0 1200 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1200 op log*;
+#X text 96 1200 B * log(A) (in base e) ;
+#X obj 0 1232 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1232 op gamma;
+#X text 96 1232 floor(pow(a/256.0 \, 256.0/b)*256.0) ;
+#X text 512 1232 gamma correction;
+#X obj 0 1264 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1264 op **;
+#X text 96 1264 A**B \, that is \, A raised to power B ;
+#X text 512 1264 gamma correction;
+#X obj 0 1296 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1296 op abs-;
+#X text 96 1296 absolute value of (A-B) ;
+#X obj 0 1328 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1328 op rand;
+#X text 96 1328 randomly produces a non-negative number below A ;
+#X obj 0 1360 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1360 op sqrt;
+#X text 96 1360 square root of A \, rounded downwards ;
+#X obj 0 1392 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1392 op sq-;
+#X text 96 1392 (A-B) times (A-B) ;
+#X obj 0 1424 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1424 op avg;
+#X text 96 1424 (A+B)/2 ;
+#X obj 0 1456 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1456 op hypot;
+#X text 96 1456 square root of (A*A+B*B) ;
+#X obj 0 1488 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1488 op clip+;
+#X text 96 1488 like A+B but overflow causes clipping instead of wrapping around (coming soon) ;
+#X obj 0 1520 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1520 op clip-;
+#X text 96 1520 like A-B but overflow causes clipping instead of wrapping around (coming soon) ;
+#X obj 0 1552 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1552 op erf*;
+#X text 96 1552 integral of e^(-x*x) dx ... (coming soon \; what ought to be the scaling factor?) ;
+#X obj 0 1584 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1584 op weight;
+#X text 96 1584 number of "1" bits in an integer;
+#X obj 0 1616 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1616 op sin;
+#X text 96 1616 sin(A-B) in radians \, float only;
+#X obj 0 1648 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1648 op cos;
+#X text 96 1648 cos(A-B) in radians \, float only;
+#X obj 0 1680 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1680 op atan2;
+#X text 96 1680 atan2(A \, B) in radians \, float only;
+#X obj 0 1712 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1712 op tanh;
+#X text 96 1712 tanh(A-B) in radians \, float only;
+#X obj 0 1744 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1744 op exp;
+#X text 96 1744 exp(A-B) in radians \, float only;
+#X obj 0 1776 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1776 op log;
+#X text 96 1776 log(A-B) in radians \, float only;
+#X obj 0 1824 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1824 op C.* ;
+#X text 96 1824 A*B;
+#X obj 0 1856 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1856 op C.*conj;
+#X text 96 1856 A*conj(B);
+#X obj 0 1888 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1888 op C./ ;
+#X text 96 1888 A/B;
+#X obj 0 1920 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1920 op C./conj;
+#X text 96 1920 A/conj(B);
+#X obj 0 1952 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 1952 op C.sq- ;
+#X text 96 1952 (A-B)*(A-B);
+#X obj 0 1984 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 1984 op C.abs- ;
+#X text 96 1984 abs(A-B);
+#X obj 0 2016 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 2016 op C.sin ;
+#X text 96 2016 sin(A-B);
+#X obj 0 2048 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 2048 op C.cos ;
+#X text 96 2048 cos(A-B);
+#X obj 0 2080 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 2080 op C.tanh ;
+#X text 96 2080 tanh(A-B);
+#X obj 0 2112 cnv 15 1024 30 empty empty empty 20 12 0 14 -249792 -66577 0;
+#X msg 10 2112 op C.exp ;
+#X text 96 2112 exp(A-B);
+#X obj 0 2144 cnv 15 1024 30 empty empty empty 20 12 0 14 -233280 -66577 0;
+#X msg 10 2144 op C.log ;
+#X text 96 2144 log(A-B);
+#X obj 10 2176 outlet;
+#X obj 95 0 cnv 0 0 2176 empty empty empty -1 12 0 14 0 -66577 0;
+#X obj 511 0 cnv 0 0 2176 empty empty empty -1 12 0 14 0 -66577 0;
+#X obj 767 0 cnv 0 0 2176 empty empty empty -1 12 0 14 0 -66577 0;
+#X obj 0 32 cnv 15 1024 14 empty empty empty 20 12 0 14 -248881 -66577 0;
+#X text 10 32 numops;
+#X obj 0 1808 cnv 15 1024 14 empty empty empty 20 12 0 14 -248881 -66577 0;
+#X text 10 1808 vecops for complex numbers;