#N canvas 265 105 961 540 10;
#N canvas 0 22 450 300 (subpatch) 0;
#X array src_re 100 float 0;
#X coords 0 1 99 -1 199 100 1;
#X restore 694 10 graph;
#N canvas 0 22 450 300 (subpatch) 0;
#X array dst_re 100 float 0;
#X coords 0 1 99 -1 199 100 1;
#X restore 694 239 graph;
#X obj 24 47 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 24 122 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 62 371 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 22 450 300 (subpatch) 0;
#X array dst_im 100 float 0;
#X coords 0 1 99 -1 199 100 1;
#X restore 694 353 graph;
#X msg 103 276 dst_re dst_re;
#X msg 118 299 dst_im dst_im;
#X msg 139 322 fftsize 64;
#X floatatom 474 22 5 0 63 0 - - -;
#X msg 546 341 \; dst_re const 0 \; dst_im const 0;
#X text 102 464 IEM KUG;
#X text 81 452 musil;
#X text 116 452 @;
#X text 124 452 iem.at;
#X text 85 474 Graz \, Austria;
#N canvas 0 22 478 328 generate_a_dirac 0;
#X obj 61 62 clip 0 63;
#X obj 61 32 inlet;
#X msg 60 103 \; src_re const 0 \; src_re \$1 1;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X restore 474 41 pd generate_a_dirac;
#X floatatom 514 22 5 -32 32 0 - - -;
#N canvas 0 22 543 496 generate_a_cos 0;
#X obj 120 18 inlet;
#X obj 219 176 t f f;
#X obj 219 211 / 32;
#X obj 219 232 * 3.14159;
#X obj 219 283 cos;
#X obj 219 257 * 8;
#X obj 219 127 t b f;
#X obj 219 331 tabwrite src_re;
#X obj 120 43 moses 0;
#X obj 39 178 t f f;
#X obj 39 213 / 32;
#X obj 39 234 * 3.14159;
#X obj 39 285 cos;
#X obj 39 259 * 8;
#X obj 39 129 t b f;
#X obj 39 333 tabwrite src_re;
#X obj 90 70 * -1;
#N canvas 193 158 454 304 counter 0;
#X obj 108 25 inlet;
#X obj 109 163 outlet;
#X obj 109 133 f;
#X obj 142 133 + 1;
#X obj 108 50 t b b;
#X msg 154 76 0;
#X msg 109 75 64;
#X obj 110 98 until;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X restore 219 151 pd counter;
#N canvas 193 158 454 304 counter 0;
#X obj 108 25 inlet;
#X obj 109 163 outlet;
#X obj 109 133 f;
#X obj 142 133 + 1;
#X obj 108 50 t b b;
#X msg 154 76 0;
#X msg 109 75 64;
#X obj 110 98 until;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X restore 38 154 pd counter;
#X obj 39 310 * -1;
#X obj 219 106 clip 0 32;
#X obj 39 108 clip 0 32;
#X connect 0 0 8 0;
#X connect 1 0 2 0;
#X connect 1 1 7 1;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 17 0;
#X connect 6 1 5 1;
#X connect 8 0 16 0;
#X connect 8 1 20 0;
#X connect 9 0 10 0;
#X connect 9 1 15 1;
#X connect 10 0 11 0;
#X connect 11 0 13 0;
#X connect 12 0 19 0;
#X connect 13 0 12 0;
#X connect 14 0 18 0;
#X connect 14 1 13 1;
#X connect 16 0 21 0;
#X connect 17 0 1 0;
#X connect 18 0 9 0;
#X connect 19 0 15 0;
#X connect 20 0 6 0;
#X connect 21 0 14 0;
#X restore 514 61 pd generate_a_cos;
#X floatatom 555 22 5 -31 31 0 - - -;
#N canvas 0 22 499 423 generate_a_sin 0;
#X obj 102 37 inlet;
#X obj 246 182 t f f;
#X obj 246 217 / 32;
#X obj 246 238 * 3.14159;
#X obj 246 263 * 8;
#X obj 246 112 clip 0 31;
#X obj 246 133 t b f;
#X obj 246 337 tabwrite src_re;
#X obj 246 289 sin;
#X obj 54 180 t f f;
#X obj 54 215 / 32;
#X obj 54 236 * 3.14159;
#X obj 54 261 * 8;
#X obj 54 110 clip 0 31;
#X obj 54 132 t b f;
#X obj 54 335 tabwrite src_re;
#X obj 54 287 sin;
#X obj 102 60 moses 0;
#X obj 54 88 * -1;
#N canvas 193 158 454 304 counter 0;
#X obj 108 25 inlet;
#X obj 109 163 outlet;
#X obj 109 133 f;
#X obj 142 133 + 1;
#X obj 108 50 t b b;
#X msg 154 76 0;
#X msg 109 75 64;
#X obj 110 98 until;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X restore 54 156 pd counter;
#N canvas 193 158 454 304 counter 0;
#X obj 108 25 inlet;
#X obj 109 163 outlet;
#X obj 109 133 f;
#X obj 142 133 + 1;
#X obj 108 50 t b b;
#X msg 154 76 0;
#X msg 109 75 64;
#X obj 110 98 until;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X restore 246 156 pd counter;
#X obj 54 312 * -1;
#X connect 0 0 17 0;
#X connect 1 0 2 0;
#X connect 1 1 7 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 8 0;
#X connect 5 0 6 0;
#X connect 6 0 20 0;
#X connect 6 1 4 1;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 9 1 15 1;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 12 0 16 0;
#X connect 13 0 14 0;
#X connect 14 0 19 0;
#X connect 14 1 12 1;
#X connect 16 0 21 0;
#X connect 17 0 18 0;
#X connect 17 1 5 0;
#X connect 18 0 13 0;
#X connect 19 0 9 0;
#X connect 20 0 1 0;
#X connect 21 0 15 0;
#X restore 555 82 pd generate_a_sin;
#X text 299 365 initial arguments:;
#X text 37 147 list of 4 floats:;
#X text 49 178 3.) dst_re-onset;
#X text 49 188 4.) dst_im-onset;
#X text 49 158 1.) src_re-onset;
#X text 49 168 2.) src_im-onset;
#X msg 62 207 20 20 30 30;
#X text 259 412 4.arg: <symbol> imag_destination-name;
#X text 259 400 3.arg: <symbol> real_destination-name;
#X text 259 389 2.arg: <symbol> imag_source-name;
#X text 259 378 1.arg: <symbol> real_source-name;
#N canvas 0 22 450 300 (subpatch) 0;
#X array src_im 100 float 0;
#X coords 0 1 99 -1 199 100 1;
#X restore 694 124 graph;
#X msg 76 230 src_re src_re;
#X msg 90 253 src_im src_im;
#X msg 546 283 \; src_re const 0 \; src_im const 0;
#X floatatom 474 132 5 0 63 0 - - -;
#N canvas 0 22 478 328 generate_a_dirac 0;
#X obj 61 62 clip 0 63;
#X obj 61 32 inlet;
#X msg 61 99 \; src_im const 0 \; src_im \$1 1;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X restore 474 151 pd generate_a_dirac;
#X floatatom 514 132 5 -32 32 0 - - -;
#N canvas 0 22 499 423 generate_a_cos 0;
#X obj 120 18 inlet;
#X obj 219 176 t f f;
#X obj 219 211 / 32;
#X obj 219 232 * 3.14159;
#X obj 219 283 cos;
#X obj 219 257 * 8;
#X obj 219 127 t b f;
#X obj 120 43 moses 0;
#X obj 39 178 t f f;
#X obj 39 213 / 32;
#X obj 39 234 * 3.14159;
#X obj 39 285 cos;
#X obj 39 259 * 8;
#X obj 39 129 t b f;
#X obj 90 70 * -1;
#X obj 40 334 tabwrite src_im;
#X obj 220 331 tabwrite src_im;
#N canvas 193 158 454 304 counter 0;
#X obj 108 25 inlet;
#X obj 109 163 outlet;
#X obj 109 133 f;
#X obj 142 133 + 1;
#X obj 108 50 t b b;
#X msg 154 76 0;
#X msg 109 75 64;
#X obj 110 98 until;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X restore 39 153 pd counter;
#N canvas 193 158 454 304 counter 0;
#X obj 108 25 inlet;
#X obj 109 163 outlet;
#X obj 109 133 f;
#X obj 142 133 + 1;
#X obj 108 50 t b b;
#X msg 154 76 0;
#X msg 109 75 64;
#X obj 110 98 until;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X restore 219 153 pd counter;
#X obj 39 311 * -1;
#X obj 219 106 clip 0 32;
#X obj 39 108 clip 0 32;
#X connect 0 0 7 0;
#X connect 1 0 2 0;
#X connect 1 1 16 1;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 16 0;
#X connect 5 0 4 0;
#X connect 6 0 18 0;
#X connect 6 1 5 1;
#X connect 7 0 14 0;
#X connect 7 1 20 0;
#X connect 8 0 9 0;
#X connect 8 1 15 1;
#X connect 9 0 10 0;
#X connect 10 0 12 0;
#X connect 11 0 19 0;
#X connect 12 0 11 0;
#X connect 13 0 17 0;
#X connect 13 1 12 1;
#X connect 14 0 21 0;
#X connect 17 0 8 0;
#X connect 18 0 1 0;
#X connect 19 0 15 0;
#X connect 20 0 6 0;
#X connect 21 0 13 0;
#X restore 514 171 pd generate_a_cos;
#X floatatom 555 132 5 -31 31 0 - - -;
#N canvas 0 22 495 419 generate_a_sin 0;
#X obj 102 37 inlet;
#X obj 246 182 t f f;
#X obj 246 217 / 32;
#X obj 246 238 * 3.14159;
#X obj 246 263 * 8;
#X obj 246 112 clip 0 31;
#X obj 246 133 t b f;
#X obj 246 289 sin;
#X obj 54 180 t f f;
#X obj 54 215 / 32;
#X obj 54 236 * 3.14159;
#X obj 54 261 * 8;
#X obj 54 110 clip 0 31;
#X obj 54 131 t b f;
#X obj 54 287 sin;
#X obj 102 60 moses 0;
#X obj 54 88 * -1;
#X obj 246 337 tabwrite src_im;
#X obj 54 336 tabwrite src_im;
#N canvas 193 158 454 304 counter 0;
#X obj 108 25 inlet;
#X obj 109 163 outlet;
#X obj 109 133 f;
#X obj 142 133 + 1;
#X obj 108 50 t b b;
#X msg 154 76 0;
#X msg 109 75 64;
#X obj 110 98 until;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X restore 54 156 pd counter;
#N canvas 193 158 454 304 counter 0;
#X obj 108 25 inlet;
#X obj 109 163 outlet;
#X obj 109 133 f;
#X obj 142 133 + 1;
#X obj 108 50 t b b;
#X msg 154 76 0;
#X msg 109 75 64;
#X obj 110 98 until;
#X connect 0 0 4 0;
#X connect 2 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 5 0 2 1;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X restore 246 156 pd counter;
#X obj 53 312 * -1;
#X connect 0 0 15 0;
#X connect 1 0 2 0;
#X connect 1 1 17 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 5 0 6 0;
#X connect 6 0 20 0;
#X connect 6 1 4 1;
#X connect 7 0 17 0;
#X connect 8 0 9 0;
#X connect 8 1 18 1;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 14 0;
#X connect 12 0 13 0;
#X connect 13 0 19 0;
#X connect 13 1 11 1;
#X connect 14 0 21 0;
#X connect 15 0 16 0;
#X connect 15 1 5 0;
#X connect 16 0 12 0;
#X connect 19 0 8 0;
#X connect 20 0 1 0;
#X connect 21 0 18 0;
#X restore 555 192 pd generate_a_sin;
#X text 37 441 (c) Thomas Musil 2000 - 2009;
#X text 10 0 tab_ifft;
#X text 93 -1 complex inverse FTT with arrays;
#X text 45 56 <bang> calculates a complex inverse fourier transformation
of complex src-arrays to complex dst-arrays;
#X obj 24 94 tab_ifft src_re src_im dst_re dst_im 64;
#X obj 62 348 tab_ifft src_re src_im dst_re dst_im 64;
#X text 259 424 5.arg: <float> ifftsize;
#X connect 2 0 46 0;
#X connect 6 0 47 0;
#X connect 7 0 47 0;
#X connect 8 0 47 0;
#X connect 9 0 16 0;
#X connect 17 0 18 0;
#X connect 19 0 20 0;
#X connect 27 0 47 0;
#X connect 33 0 47 0;
#X connect 34 0 47 0;
#X connect 36 0 37 0;
#X connect 38 0 39 0;
#X connect 40 0 41 0;
#X connect 46 0 3 0;
#X connect 47 0 4 0;
