[PD] permutations

Krzysztof Czaja czaja at chopin.edu.pl
Thu Jan 24 21:01:29 CET 2002


hi,

since Orm's [pd permute] cycles with a period of 6 (out of 5! == 120),
I have just patched a correct(?) one as an evening refresher, trying
to make it a bit more generic too...

This one is clumsy!  But is there much simpler way?

Or is this yet another case of my blindness?

Krzysztof
-------------- next part --------------
#N canvas 312 133 651 568 12;
#N canvas 0 0 430 335 init 0;
#X obj 94 131 until;
#X obj 94 174 int;
#X obj 139 174 - 1;
#X obj 94 213 t 0 0 0;
#X obj 94 54 inlet;
#X obj 94 260 tabwrite \$0-t;
#X obj 286 131 + 2;
#X msg 255 245 \; \$1-t resize \$2;
#X obj 255 213 pack;
#X obj 255 174 int \$0;
#X obj 94 89 t 0 0 b 0;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 1 1;
#X connect 3 0 5 0;
#X connect 3 1 5 1;
#X connect 3 2 2 0;
#X connect 4 0 10 0;
#X connect 6 0 8 1;
#X connect 8 0 7 0;
#X connect 9 0 8 0;
#X connect 10 0 0 0;
#X connect 10 1 1 1;
#X connect 10 2 9 0;
#X connect 10 3 6 0;
#X restore 29 102 pd init;
#X obj 497 173 print please;
#X msg 497 138 restart...;
#N canvas 0 0 481 600 find-first 0;
#X obj 124 116 until;
#X obj 124 156 int;
#X obj 173 156 - 1;
#X obj 182 224 - 1;
#X obj 153 399 >;
#X obj 153 437 sel 1;
#X obj 99 15 inlet;
#X obj 153 547 outlet;
#X obj 182 257 t 0 0;
#X obj 124 192 t 0 0 0;
#X obj 153 507 int;
#X obj 228 547 outlet;
#X obj 182 323 t 0 0;
#X obj 228 507 int;
#X obj 307 547 outlet;
#X obj 307 195 spigot;
#X obj 153 470 t b b b b;
#X obj 99 48 t b 0 0 b;
#X msg 307 162 1;
#X msg 356 162 0;
#X obj 199 48 r \$0-find-first-stop;
#X obj 256 470 s \$0-find-first-stop;
#X obj 182 290 tabread \$0-t;
#X obj 153 363 tabread \$0-t;
#X obj 124 83 - 1;
#X connect 0 0 1 0;
#X connect 1 0 9 0;
#X connect 2 0 1 1;
#X connect 3 0 8 0;
#X connect 4 0 5 0;
#X connect 5 0 16 0;
#X connect 6 0 17 0;
#X connect 8 0 22 0;
#X connect 8 1 13 1;
#X connect 9 0 2 0;
#X connect 9 1 23 0;
#X connect 9 2 3 0;
#X connect 10 0 7 0;
#X connect 12 0 4 1;
#X connect 12 1 10 1;
#X connect 13 0 11 0;
#X connect 15 0 14 0;
#X connect 16 0 10 0;
#X connect 16 1 13 0;
#X connect 16 2 21 0;
#X connect 16 3 19 0;
#X connect 17 0 15 0;
#X connect 17 1 24 0;
#X connect 17 2 1 1;
#X connect 17 3 18 0;
#X connect 18 0 15 1;
#X connect 19 0 15 1;
#X connect 20 0 0 1;
#X connect 22 0 12 0;
#X connect 23 0 4 0;
#X connect 24 0 0 0;
#X restore 179 248 pd find-first;
#N canvas 0 0 514 503 find-last 0;
#X obj 127 97 until;
#X obj 127 137 int;
#X obj 176 137 - 1;
#X obj 156 291 >;
#X obj 156 329 sel 1;
#X obj 98 25 inlet;
#X obj 156 439 outlet;
#X obj 156 399 int;
#X obj 310 439 outlet;
#X obj 310 176 spigot;
#X obj 98 58 t b 0 0 b;
#X msg 310 143 1;
#X msg 359 143 0;
#X obj 198 58 r \$0-find-last-stop;
#X obj 267 362 s \$0-find-last-stop;
#X obj 177 25 inlet;
#X obj 127 173 t 0 0 0;
#X obj 156 250 t 0 0;
#X obj 236 399 int;
#X obj 236 439 outlet;
#X obj 156 362 t b b b b;
#X obj 156 214 tabread \$0-t;
#X connect 0 0 1 0;
#X connect 1 0 16 0;
#X connect 2 0 1 1;
#X connect 3 0 4 0;
#X connect 4 0 20 0;
#X connect 5 0 10 0;
#X connect 7 0 6 0;
#X connect 9 0 8 0;
#X connect 10 0 9 0;
#X connect 10 1 0 0;
#X connect 10 2 1 1;
#X connect 10 3 11 0;
#X connect 11 0 9 1;
#X connect 12 0 9 1;
#X connect 13 0 0 1;
#X connect 15 0 3 1;
#X connect 16 0 2 0;
#X connect 16 1 21 0;
#X connect 16 2 18 1;
#X connect 17 0 3 0;
#X connect 17 1 7 1;
#X connect 18 0 19 0;
#X connect 20 0 7 0;
#X connect 20 1 18 0;
#X connect 20 2 14 0;
#X connect 20 3 12 0;
#X connect 21 0 17 0;
#X restore 229 361 pd find-last;
#N canvas 0 0 445 202 switch 0;
#X obj 78 38 inlet;
#X obj 159 38 inlet;
#X obj 236 38 inlet;
#X obj 316 38 inlet;
#X obj 78 131 tabwrite \$0-t;
#X obj 236 130 tabwrite \$0-t;
#X connect 0 0 4 0;
#X connect 1 0 5 1;
#X connect 2 0 5 0;
#X connect 3 0 4 1;
#X restore 204 398 pd switch;
#X obj 29 30 table \$0-t;
#N canvas 326 10 459 541 reorder 0;
#X obj 138 29 inlet;
#X obj 176 148 until;
#X obj 74 148 int;
#X obj 178 105 unpack;
#X obj 289 148 int;
#X obj 340 148 - 1;
#X obj 30 148 + 1;
#X obj 176 181 t b b;
#X obj 180 263 sel 1;
#X obj 289 181 t 0 0 0;
#X obj 74 181 t 0 0 0;
#X obj 81 353 int;
#X obj 296 353 int;
#X obj 296 398 tabread \$0-t;
#X obj 180 230 >;
#X obj 138 65 t l l;
#X msg 138 105 \$2;
#X obj 81 398 tabread \$0-t;
#X obj 297 470 tabwrite \$0-t;
#X obj 81 470 tabwrite \$0-t;
#X obj 220 303 t b b b b;
#X obj 81 437 int;
#X obj 297 437 int;
#X connect 0 0 15 0;
#X connect 1 0 7 0;
#X connect 2 0 10 0;
#X connect 3 0 2 1;
#X connect 3 1 4 1;
#X connect 4 0 9 0;
#X connect 5 0 4 1;
#X connect 6 0 2 1;
#X connect 7 0 2 0;
#X connect 7 1 4 0;
#X connect 8 0 1 1;
#X connect 8 1 20 0;
#X connect 9 0 14 1;
#X connect 9 1 12 1;
#X connect 9 2 5 0;
#X connect 10 0 14 0;
#X connect 10 1 11 1;
#X connect 10 2 6 0;
#X connect 11 0 17 0;
#X connect 11 0 19 1;
#X connect 12 0 13 0;
#X connect 12 0 18 1;
#X connect 13 0 21 1;
#X connect 14 0 8 0;
#X connect 15 0 16 0;
#X connect 15 1 3 0;
#X connect 16 0 1 0;
#X connect 17 0 22 1;
#X connect 20 0 21 0;
#X connect 20 1 22 0;
#X connect 20 2 11 0;
#X connect 20 3 12 0;
#X connect 21 0 19 0;
#X connect 22 0 18 0;
#X restore 125 500 pd reorder;
#X obj 125 398 + 1;
#X obj 125 361 int;
#X obj 179 286 t b 0 b 0;
#X obj 191 102 s \$0-init;
#X obj 29 65 r \$0-init;
#X obj 179 138 r \$0-next;
#X obj 433 248 s \$0-next;
#X obj 179 210 int;
#X obj 201 173 r \$0-init;
#X obj 229 323 int;
#X obj 433 323 int;
#X obj 455 286 r \$0-init;
#N canvas 0 0 362 361 report 0;
#X obj 80 34 inlet;
#X obj 80 118 until;
#X obj 80 161 int;
#X obj 126 161 + 1;
#X obj 80 199 t 0 0;
#X obj 80 244 tabread \$0-t;
#X obj 80 76 t 0 b b;
#X msg 138 118 1;
#X obj 80 290 outlet;
#X obj 211 290 outlet;
#X obj 211 244 int;
#X obj 256 244 + 1;
#X obj 233 34 inlet;
#X msg 233 208 1;
#X connect 0 0 6 0;
#X connect 1 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X connect 4 0 5 0;
#X connect 4 1 3 0;
#X connect 5 0 8 0;
#X connect 6 0 1 0;
#X connect 6 1 7 0;
#X connect 6 2 10 0;
#X connect 7 0 2 1;
#X connect 10 0 11 0;
#X connect 10 0 9 0;
#X connect 11 0 10 1;
#X connect 12 0 13 0;
#X connect 13 0 10 1;
#X restore 433 361 pd report;
#X obj 336 138 until;
#X obj 433 210 t b b;
#X obj 433 432 print :;
#X obj 291 286 s \$0-end;
#X obj 497 65 r \$0-end;
#X obj 497 102 t b b;
#X msg 433 65 bang;
#X obj 156 432 r \$0-init;
#X obj 125 467 pack;
#X obj 336 102 t b 0;
#X msg 336 65 5;
#X obj 509 398 print permno;
#X msg 382 65 8;
#X msg 239 30 5;
#X msg 288 30 8;
#X msg 191 30 3;
#X msg 288 65 3;
#X connect 2 0 1 0;
#X connect 3 0 10 0;
#X connect 3 1 5 1;
#X connect 3 1 9 1;
#X connect 3 2 24 0;
#X connect 4 0 5 2;
#X connect 4 1 5 3;
#X connect 8 0 29 0;
#X connect 9 0 8 0;
#X connect 10 0 9 0;
#X connect 10 1 5 0;
#X connect 10 2 17 0;
#X connect 10 3 4 1;
#X connect 12 0 0 0;
#X connect 13 0 15 0;
#X connect 15 0 3 0;
#X connect 16 0 15 1;
#X connect 16 0 17 1;
#X connect 17 0 4 0;
#X connect 18 0 20 0;
#X connect 19 0 18 1;
#X connect 19 0 20 1;
#X connect 20 0 23 0;
#X connect 20 1 32 0;
#X connect 21 0 22 0;
#X connect 22 0 14 0;
#X connect 22 1 18 0;
#X connect 25 0 26 0;
#X connect 26 0 2 0;
#X connect 26 1 21 1;
#X connect 27 0 22 0;
#X connect 28 0 29 1;
#X connect 29 0 7 0;
#X connect 30 0 21 0;
#X connect 30 1 11 0;
#X connect 31 0 30 0;
#X connect 33 0 30 0;
#X connect 34 0 11 0;
#X connect 35 0 11 0;
#X connect 36 0 11 0;
#X connect 37 0 30 0;


More information about the Pd-list mailing list