#N canvas 311 33 841 580 12;
#X obj 22 164 +~;
#X obj 102 164 -~;
#X obj 22 18 +~;
#X obj 54 18 -~;
#X obj 86 18 *~;
#X obj 117 18 /~;
#X obj 148 18 max~;
#X obj 186 18 min~;
#X obj 668 420 +~ 5;
#X text 25 534 see also:;
#X obj 110 523 +;
#X floatatom 693 394 5 0 0 0 - - - 0;
#X obj 162 551 cos~;
#X obj 382 524 abs~;
#X obj 222 18 log~;
#X obj 260 18 pow~;
#X obj 111 551 expr~;
#N canvas 694 91 595 515 reference 0;
#X obj 16 251 cnv 5 570 5 empty empty INLETS: 8 18 0 13 #202020 #000000 0;
#X obj 17 286 cnv 1 570 1 empty empty 1st: 8 12 0 13 #9f9f9f #000000 0;
#X obj 17 394 cnv 2 570 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 17 435 cnv 2 570 2 empty empty ARGUMENT: 8 12 0 13 #202020 #000000 0;
#X obj 16 488 cnv 5 570 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X obj 17 323 cnv 1 570 1 empty empty 2nd: 8 12 0 13 #7c7c7c #000000 0;
#X text 110 446 1) float -;
#X obj 39 46 +;
#X obj 39 69 -;
#X obj 39 92 *;
#X obj 39 115 /;
#X obj 39 161 min;
#X obj 39 138 max;
#X text 85 45 - add two numbers., f 68;
#X text 85 91 - multiply two numbers., f 68;
#X text 85 138 - maximum (highest) value of two numbers., f 68;
#X text 85 161 - minimum (lowest) value of two numbers., f 68;
#X obj 39 185 log~;
#X text 85 185 - logarithms: takes input on the left and base on the right., f 68;
#X text 85 68 - subtract the left input number by the right input value., f 68;
#X text 85 114 - divide the left input number by the right input value., f 68;
#X obj 39 210 pow~;
#X text 85 210 - power: takes input on the left and value to raise to on the right., f 68;
#X text 95 295 signal(s) - one or more channels to the left side of operation., f 64;
#X text 96 332 signal(s) - one or more channels to the right side of operation., f 64;
#X text 96 404 signal(s) - one or more channels with the result of the operation., f 66;
#X text 186 446 initializes right inlet's value and impedes signal connections (default: 'e' for [log~] \, '0' otherwise).;
#X text 124 352 float -;
#X text 180 352 sets right side value (only floats are possible if an argument is given).;
#X text 32 14 Audio rate binary (two-input) operators:;
#X restore 738 17 pd reference;
#X text 675 17 click =>;
#X obj 10 51 cnv 1 830 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X obj 741 75 loadbang;
#X obj 741 101 metro 100;
#X obj 741 125 s bang;
#X obj 48 195 r bang;
#X obj 22 105 sig~ 10;
#X obj 120 105 sig~ 5;
#X obj 102 231 snapshot~;
#X floatatom 102 260 6 0 0 0 - - - 0;
#X floatatom 120 74 5 0 0 0 - - - 0;
#X floatatom 22 74 5 0 0 0 - - - 0;
#X obj 22 231 snapshot~;
#X floatatom 22 260 6 0 0 0 - - - 0;
#X obj 223 194 r bang;
#X obj 197 104 sig~ 10;
#X obj 295 104 sig~ 5;
#X obj 277 230 snapshot~;
#X floatatom 277 259 6 0 0 0 - - - 0;
#X floatatom 295 73 5 0 0 0 - - - 0;
#X floatatom 197 73 5 0 0 0 - - - 0;
#X obj 197 230 snapshot~;
#X floatatom 197 259 6 0 0 0 - - - 0;
#X obj 197 163 *~;
#X obj 277 163 /~;
#X obj 400 194 r bang;
#X obj 374 104 sig~ 10;
#X obj 479 104 sig~ 5;
#X obj 454 230 snapshot~;
#X floatatom 454 259 6 0 0 0 - - - 0;
#X floatatom 479 73 5 0 0 0 - - - 0;
#X floatatom 374 73 5 0 0 0 - - - 0;
#X obj 374 230 snapshot~;
#X floatatom 374 259 6 0 0 0 - - - 0;
#X obj 374 163 max~;
#X obj 454 163 min~;
#X obj 577 194 r bang;
#X obj 551 104 sig~ 10;
#X obj 656 104 sig~ 5;
#X obj 631 230 snapshot~;
#X floatatom 631 259 6 0 0 0 - - - 0;
#X floatatom 656 73 5 0 0 0 - - - 0;
#X floatatom 551 73 5 0 0 0 - - - 0;
#X obj 551 230 snapshot~;
#X floatatom 551 259 6 0 0 0 - - - 0;
#X obj 631 163 pow~;
#X obj 551 163 log~;
#X text 534 303 These objects combine two signals as above \, or \, if you give a numeric argument \, the right inlet only takes floats (no signals) and the argument initializes the right inlet value \, see below:, f 36;
#X msg 723 214 \; pd dsp \$1;
#X obj 723 177 set-dsp-tgl;
#X text 754 181 DSP on/off;
#N canvas 677 196 565 489 multichannel 0;
#X obj 247 193 snake~ in;
#X obj 373 193 snake~ in;
#X obj 355 251 +~;
#X obj 86 193 snake~ in;
#X obj 86 301 snake~ out;
#X obj 98 341 r bang;
#X obj 164 390 snapshot~;
#X floatatom 164 429 6 0 0 0 - - - 0;
#X obj 86 390 snapshot~;
#X floatatom 86 429 6 0 0 0 - - - 0;
#X obj 355 301 snake~ out;
#X obj 367 341 r bang;
#X obj 433 390 snapshot~;
#X floatatom 433 429 6 0 0 0 - - - 0;
#X obj 355 390 snapshot~;
#X floatatom 355 429 6 0 0 0 - - - 0;
#X floatatom 86 136 5 0 0 0 - - - 0;
#X floatatom 146 136 5 0 0 0 - - - 0;
#X floatatom 247 136 5 0 0 0 - - - 0;
#X floatatom 307 136 5 0 0 0 - - - 0;
#X obj 307 163 sig~ 5;
#X floatatom 373 136 5 0 0 0 - - - 0;
#X floatatom 433 136 5 0 0 0 - - - 0;
#X obj 433 163 sig~ 9;
#X obj 247 163 sig~ 3;
#X obj 373 163 sig~ 2;
#X obj 86 258 +~ 5;
#X floatatom 111 228 5 0 0 0 - - - 0;
#X obj 86 163 sig~ 2;
#X obj 146 163 sig~ 5;
#X text 128 255 value summed to all channels, f 16;
#X text 37 13 All of these objects work with multichannel signals. If both inputs have the same amount of channels \, then operations are done at each corresponding channels. In case the numbers mismatch \, the input with less channels wraps around and copy the first channels until reaching the number of channels of the other input. This is especially useful when you have a single channel value (or a float) to apply an operation to every channel in a multisignal connection., f 69;
#X connect 0 0 2 0;
#X connect 1 0 2 1;
#X connect 2 0 10 0;
#X connect 3 0 26 0;
#X connect 4 0 8 0;
#X connect 4 1 6 0;
#X connect 5 0 6 0;
#X connect 5 0 8 0;
#X connect 6 0 7 0;
#X connect 8 0 9 0;
#X connect 10 0 14 0;
#X connect 10 1 12 0;
#X connect 11 0 12 0;
#X connect 11 0 14 0;
#X connect 12 0 13 0;
#X connect 14 0 15 0;
#X connect 16 0 28 0;
#X connect 17 0 29 0;
#X connect 18 0 24 0;
#X connect 19 0 20 0;
#X connect 20 0 0 1;
#X connect 21 0 25 0;
#X connect 22 0 23 0;
#X connect 23 0 1 1;
#X connect 24 0 0 0;
#X connect 25 0 1 0;
#X connect 26 0 4 0;
#X connect 27 0 26 1;
#X connect 28 0 3 0;
#X connect 29 0 3 1;
#X restore 670 465 pd multichannel;
#X text 519 450 mutichannel signal support ----------->, f 20;
#X text 35 307 These objects perform the 4 arithmetic functions ([+~] \, etc) \, output the minimum or maximum of two numbers ([min~] \, [max~]) \, or perform logarithms and exponentiation ([log~] \, [pow~])., f 62;
#X text 35 422 [pow~] raises a signal to a numeric power given by the right inlet or a creation argument. The inputs may be positive \, zero \, or negative. WARNING: it's easy to generate "infinity" \, but there' a protection against NaNs (they become 0)., f 62;
#X text 627 550 updated for Pd version 0.54;
#X obj 10 510 cnv 1 830 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 141 523 (etc.) - control rate versions;
#X text 298 17 - signal binary operators;
#X text 422 525 (etc.) - signal unary operators;
#X text 35 358 [log~] computes the logarithm of the left inlet to the base 'e' (about 2.718) or to another base specified by the right inlet or a creation argument. A 0 or negative left input gives -1000 as the result., f 62;
#X obj 204 551 clip~;
#X connect 0 0 30 0;
#X connect 1 0 26 0;
#X connect 11 0 8 1;
#X connect 20 0 21 0;
#X connect 21 0 22 0;
#X connect 23 0 26 0;
#X connect 23 0 30 0;
#X connect 24 0 0 0;
#X connect 24 0 1 0;
#X connect 25 0 0 1;
#X connect 25 0 1 1;
#X connect 26 0 27 0;
#X connect 28 0 25 0;
#X connect 29 0 24 0;
#X connect 30 0 31 0;
#X connect 32 0 35 0;
#X connect 32 0 39 0;
#X connect 33 0 41 0;
#X connect 33 0 42 0;
#X connect 34 0 41 1;
#X connect 34 0 42 1;
#X connect 35 0 36 0;
#X connect 37 0 34 0;
#X connect 38 0 33 0;
#X connect 39 0 40 0;
#X connect 41 0 39 0;
#X connect 42 0 35 0;
#X connect 43 0 46 0;
#X connect 43 0 50 0;
#X connect 44 0 52 0;
#X connect 44 0 53 0;
#X connect 45 0 52 1;
#X connect 45 0 53 1;
#X connect 46 0 47 0;
#X connect 48 0 45 0;
#X connect 49 0 44 0;
#X connect 50 0 51 0;
#X connect 52 0 50 0;
#X connect 53 0 46 0;
#X connect 54 0 57 0;
#X connect 54 0 61 0;
#X connect 55 0 63 0;
#X connect 55 0 64 0;
#X connect 56 0 63 1;
#X connect 56 0 64 1;
#X connect 57 0 58 0;
#X connect 59 0 56 0;
#X connect 60 0 55 0;
#X connect 61 0 62 0;
#X connect 63 0 57 0;
#X connect 64 0 61 0;
#X connect 67 0 66 0;
