#N struct 1033-dial float y;
#N canvas 0 31 566 571 10;
#N canvas 0 0 450 300 randlist 0;
#X obj 134 129 until;
#X msg 246 151 set;
#X msg 134 193 add2 \$1;
#X obj 112 101 t b f b;
#X obj 135 249 outlet;
#X obj 112 31 inlet;
#X obj 112 73 + 1;
#X obj 112 53 random 10;
#X obj 134 151 random 10;
#X obj 134 171 + 1;
#X connect 0 0 8 0;
#X connect 1 0 4 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 3 2 1 0;
#X connect 5 0 7 0;
#X connect 6 0 3 0;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 2 0;
#X restore 153 305 pd randlist;
#X msg 153 283 bang;
#X floatatom 98 439 5 0 0 1 harmonic_mean - -;
#X msg 153 331 3 5 3 3 8;
#X msg 98 228 1 2 3 4;
#X msg 98 254 any symbols 1 2 3 4 are ignored;
#X text 96 146 Non-floats in a list are silently dropped.;
#X text 96 119 where n is the total number of floats in a list.;
#N canvas 318 53 648 574 graphical-mean 0;
#N canvas 0 0 450 300 randlist 0;
#X obj 134 129 until;
#X msg 246 151 set;
#X msg 134 213 add2 \$1;
#X obj 112 101 t b f b;
#X obj 135 249 outlet;
#X obj 112 31 inlet;
#X obj 134 151 random 100;
#X msg 112 59 10;
#X obj 134 191 / 10;
#X obj 134 170 + 1;
#X connect 0 0 6 0;
#X connect 1 0 4 0;
#X connect 2 0 4 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 3 2 1 0;
#X connect 5 0 7 0;
#X connect 6 0 9 0;
#X connect 7 0 3 0;
#X connect 8 0 2 0;
#X connect 9 0 8 0;
#X restore 79 388 pd randlist;
#X msg 79 366 bang;
#X obj 79 447 list prepend 0;
#X obj 79 500 s \$0-tab;
#N canvas 0 0 450 300 (subpatch) 0;
#X array \$0-tab 10 float 0;
#X coords 0 10 9 0 200 140 1;
#X restore 75 152 graph;
#N canvas 0 0 916 918 \$0-c 0;
#X scalar 1033-dial 0 \;;
#X coords 0 0 200 140 200 140 1;
#X restore 75 152 pd \$0-c;
#N canvas 0 0 503 429 create 0;
#X msg 242 258 traverse pd-\$1 \, bang;
#X obj 242 238 symbol \$0-c;
#X msg 107 79 0;
#X obj 242 278 pointer;
#X msg 243 178 clear;
#X obj 243 205 s pd-\$0-c;
#X obj 107 114 t a b b;
#X obj 107 50 loadbang;
#X obj 107 326 outlet;
#X obj 107 302 append \$0-dial y;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 2 0 6 0;
#X connect 3 0 9 1;
#X connect 4 0 5 0;
#X connect 6 0 9 0;
#X connect 6 1 1 0;
#X connect 6 2 4 0;
#X connect 7 0 2 0;
#X connect 9 0 8 0;
#X restore 440 364 pd create;
#X obj 339 127 metro 50;
#X obj 339 102 tgl 15 0 empty empty show-mean 17 7 1 10 -258699 -262144
-1 0 1;
#N canvas 473 338 450 300 countto 0;
#X obj 131 154 f 0;
#X obj 156 153 + 1;
#X msg 174 113 0;
#X obj 131 183 outlet;
#X obj 131 59 inlet;
#X obj 131 116 until;
#X obj 131 96 t a b;
#X connect 0 0 1 0;
#X connect 0 0 3 0;
#X connect 1 0 0 1;
#X connect 2 0 0 1;
#X connect 4 0 6 0;
#X connect 5 0 0 0;
#X connect 6 0 5 0;
#X connect 6 1 2 0;
#X restore 362 195 pd countto;
#X obj 362 219 tabread \$0-tab;
#X obj 362 249 list prepend;
#X obj 452 249 t a;
#X msg 362 175 10;
#X obj 339 148 t b b b;
#X obj 339 274 list;
#X obj 79 344 loadbang;
#X text 77 30 Switch on the "show"-metro and play with the values in
the array.;
#N canvas 336 319 712 355 \$0-dial 0;
#X obj 19 119 outlet;
#X obj 19 86 route change;
#X obj 19 62 struct \$0-dial float y;
#X obj 229 62 drawpolygon 900 2 0 y 200 y;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X restore 425 340 pd \$0-dial;
#X msg 213 469 bounds 0 10 9 0;
#X obj 213 449 loadbang;
#X obj 339 388 set \$0-dial y;
#X floatatom 339 339 5 0 0 0 - - -;
#X msg 92 469 const 5;
#N canvas 0 0 299 354 scale 0;
#X msg 74 83 10 \$1;
#X obj 74 107 -;
#X obj 74 158 * 140;
#X obj 74 134 / 20;
#X obj 74 49 inlet;
#X obj 74 182 outlet;
#X connect 0 0 1 0;
#X connect 1 0 3 0;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 4 0 0 0;
#X restore 339 363 pd scale;
#X obj 339 313 list-harmonic-mean;
#X msg 79 414 5.7 6 8.1 9.9 3.1 6.5 9.7 5.8 5.6 0.9;
#X connect 0 0 26 0;
#X connect 1 0 0 0;
#X connect 2 0 3 0;
#X connect 6 0 21 1;
#X connect 7 0 14 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 11 0 15 1;
#X connect 12 0 11 1;
#X connect 13 0 9 0;
#X connect 14 0 15 0;
#X connect 14 1 13 0;
#X connect 14 2 11 1;
#X connect 15 0 25 0;
#X connect 16 0 1 0;
#X connect 18 0 21 1;
#X connect 19 0 3 0;
#X connect 20 0 19 0;
#X connect 22 0 24 0;
#X connect 23 0 3 0;
#X connect 24 0 21 0;
#X connect 25 0 22 0;
#X connect 26 0 2 0;
#X restore 98 459 pd graphical-mean;
#X obj 98 405 list-harmonic-mean;
#X text 86 22 [list-harmonic-mean];
#X text 96 51 Calculates the harmonic mean of a list (of floats) according
to:;
#X msg 154 357 0 1 2 3 4;
#X text 234 357 0 makes the harmonic mean limit to 0;
#X text 95 171 If a 0 occurs \, the harmonic mean is set to 0 \, because
if one value approaches zero \, the harmonic mean limits to zero as
well.;
#X obj 185 493 list-geometric-mean;
#X obj 184 515 list-mean;
#X text 97 494 More means:;
#X text 114 91 harmonic mean = n / (1/f0 + 1/f1 + 1/f2 + ... + 1/fn)
;
#N canvas 491 26 494 396 META 0;
#X text 12 25 LICENSE SIBSD;
#X text 12 105 AUTHOR Frank Barknecht;
#X text 12 125 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
added by Jonathan Wilkes for Pd version 0.42.;
#X text 12 5 KEYWORDS control list_op;
#X text 12 65 INLET_0 list;
#X text 12 85 OUTLET_0 float;
#X text 12 45 DESCRIPTION Calculates the harmonic mean of a list of
floats;
#X restore 498 530 pd META;
#X connect 0 0 3 0;
#X connect 1 0 0 0;
#X connect 3 0 9 0;
#X connect 4 0 9 0;
#X connect 5 0 9 0;
#X connect 9 0 2 0;
#X connect 12 0 9 0;