#N canvas 451 57 688 626 12;
#X text 19 579 see also:;
#N canvas 736 152 572 306 reference 0;
#X text 75 39 - calculate absolute value function., f 66;
#X text 75 63 - calculate exponential function (raise to the power of 'e')., f 66;
#X text 75 88 - calculate square root function., f 66;
#X text 75 111 - calculate remainder of "modulo 1" (wrap input between 0 and 1)., f 66;
#X obj 13 152 cnv 5 550 5 empty empty INLET: 8 18 0 13 #202020 #000000 0;
#X obj 13 203 cnv 2 550 2 empty empty OUTLET: 8 12 0 13 #202020 #000000 0;
#X obj 13 240 cnv 2 550 2 empty empty ARGUMENTS: 8 12 0 13 #202020 #000000 0;
#X obj 12 277 cnv 5 550 5 empty empty empty 8 18 0 13 #202020 #000000 0;
#X text 252 251 NONE, f 5;
#X text 119 170 signal(s) - signal with one or more channels input.;
#X text 121 212 signal(s) - absolute value of input signal(s).;
#X obj 29 40 abs~;
#X obj 29 65 exp~;
#X obj 29 88 sqrt~;
#X obj 29 111 wrap~;
#X text 27 13 Audio rate unary (one-input) operators:;
#X restore 505 15 pd reference;
#X text 603 16 <= click;
#X obj 6 48 cnv 1 675 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#X text 446 589 updated for Pd version 0.54;
#X obj 25 15 abs~;
#X obj 63 15 sqrt~;
#X obj 161 15 wrap~;
#X obj 209 15 exp~;
#X obj 75 271 snapshot~;
#X floatatom 33 172 5 0 0 0 - - - 0;
#X floatatom 75 301 7 0 0 0 - - - 0;
#X obj 33 234 abs~;
#X obj 33 200 sig~ -10;
#X floatatom 135 173 5 0 0 0 - - - 0;
#X floatatom 174 301 9 0 0 0 - - - 0;
#X obj 135 235 sqrt~;
#X obj 174 271 snapshot~;
#X obj 449 133 q8_sqrt~;
#X obj 135 201 sig~ 4;
#X msg 531 281 \; pd dsp \$1;
#X obj 531 246 set-dsp-tgl;
#X text 562 250 DSP on/off;
#X obj 541 417 metro 100;
#X obj 541 392 loadbang;
#X obj 541 441 s bang;
#X obj 75 235 r bang;
#X obj 108 15 rsqrt~;
#X obj 514 133 q8_rsqrt~;
#X floatatom 205 173 5 0 0 0 - - - 0;
#X floatatom 269 301 9 0 0 0 - - - 0;
#X obj 269 271 snapshot~;
#X obj 205 235 rsqrt~;
#X obj 205 201 sig~ 0.25;
#X text 586 133 deprecated;
#X floatatom 45 393 7 0 0 0 - - - 0;
#X floatatom 98 505 7 0 0 0 - - - 0;
#X obj 98 475 snapshot~;
#X obj 45 419 sig~;
#X obj 45 443 wrap~;
#X text 30 343 [wrap~] wraps the input between 0 and 1 by giving the difference between the input and the largest integer not exceeding it (for positive numbers this is the fractional part)., f 88;
#X obj 98 443 r bang;
#X obj 354 274 snapshot~;
#X floatatom 354 155 6 0 0 0 - - - 0;
#X floatatom 354 299 8 0 0 0 - - - 0;
#X obj 354 206 exp~;
#X text 415 188 [exp~] raises the Euler number 'e' (about 2.718) to the power of the input signal., f 34;
#X obj 354 179 sig~ 1;
#X obj 374 243 r bang;
#X obj 269 235 r bang;
#X obj 6 545 cnv 1 675 1 empty empty empty 8 12 0 13 #000000 #000000 0;
#N canvas 181 166 417 228 compatibility 0;
#X msg 162 130 \; pd compatibility 0.47;
#X text 57 40 COMPATIBILITY NOTE: in Pd versions before 0.48 \, [wrap~] with an input of 0 did output 1 (but now correctly outputs 0). To get the old behavior \, set "compatibility" to 0.47 or below in Pd's command line or via the message:, f 43;
#X restore 200 446 pd compatibility;
#N canvas 648 122 373 442 multichannel 0;
#X obj 86 163 snake~ in, f 10;
#X obj 86 271 snake~ out;
#X obj 185 360 snapshot~;
#X floatatom 185 399 6 0 0 0 - - - 0;
#X obj 86 360 snapshot~;
#X floatatom 86 399 6 0 0 0 - - - 0;
#X floatatom 86 106 5 0 0 0 - - - 0;
#X floatatom 153 106 5 0 0 0 - - - 0;
#X obj 86 228 abs~;
#X msg 199 217 \; pd dsp \$1;
#X text 231 180 DSP on/off;
#X obj 199 176 set-dsp-tgl;
#X obj 185 293 r bang;
#X obj 153 133 sig~ -5;
#X text 70 25 All of these objects work with multichannel signals \, where the operation is performed in all existing channels., f 33;
#X obj 86 133 sig~ -2;
#X connect 0 0 8 0;
#X connect 1 0 4 0;
#X connect 1 1 2 0;
#X connect 2 0 3 0;
#X connect 4 0 5 0;
#X connect 6 0 15 0;
#X connect 7 0 13 0;
#X connect 8 0 1 0;
#X connect 11 0 9 0;
#X connect 12 0 2 0;
#X connect 12 0 4 0;
#X connect 13 0 0 1;
#X connect 15 0 0 0;
#X restore 518 495 pd multichannel;
#X text 367 480 mutichannel signal support ----------->, f 20;
#X text 103 393 <-- shift-drag here to get non-integers to try;
#X obj 101 560 abs;
#X obj 373 560 +~;
#X obj 101 589 expr~;
#X obj 147 589 cos~;
#X text 246 15 - signal unary operators;
#X text 404 559 (etc.) - binary signal operators;
#X text 137 559 (etc.) - control rate versions;
#X obj 187 589 clip~;
#X text 18 63 The [abs~] object passes nonnegative values unchanged \, but replaces negative ones with their (positive) inverses. The [sqrt~] and [rsqrt~] output \, respectively \, the approximate square root and inverse square root - the same as 1/sqrt(input) - using a fast algorithm accurate to about 120 dB (20 bits). There are old [q8_sqrt~]/[q8_rsqrt~] versions with only about 8 bit accuracy that should probably not be used:, f 89;
#X connect 9 0 11 0;
#X connect 10 0 13 0;
#X connect 12 0 9 0;
#X connect 13 0 12 0;
#X connect 14 0 19 0;
#X connect 16 0 17 0;
#X connect 17 0 15 0;
#X connect 19 0 16 0;
#X connect 21 0 20 0;
#X connect 23 0 25 0;
#X connect 24 0 23 0;
#X connect 26 0 9 0;
#X connect 29 0 33 0;
#X connect 31 0 30 0;
#X connect 32 0 31 0;
#X connect 33 0 32 0;
#X connect 35 0 38 0;
#X connect 37 0 36 0;
#X connect 38 0 39 0;
#X connect 39 0 37 0;
#X connect 41 0 37 0;
#X connect 42 0 44 0;
#X connect 43 0 47 0;
#X connect 45 0 42 0;
#X connect 47 0 45 0;
#X connect 48 0 42 0;
#X connect 49 0 31 0;
#X connect 49 0 17 0;
