#N canvas 204 70 675 629 10; #X obj 127 475 f; #X obj 127 65 inlet; #X obj 127 561 outlet; #X obj 163 170 list-enumerate; #X obj 163 197 t a a; #X obj 261 406 /; #X obj 261 376 swap; #X obj 210 345 select 0; #N canvas 286 344 401 287 sum(mi*i) 0; #X obj 126 138 +; #X obj 153 139 f; #X msg 168 88 0; #X obj 126 66 inlet; #X obj 168 66 inlet; #X obj 126 171 outlet; #X obj 126 103 *; #X connect 0 0 1 0; #X connect 0 0 5 0; #X connect 1 0 0 1; #X connect 2 0 0 1; #X connect 3 0 6 0; #X connect 4 0 2 0; #X connect 6 0 0 0; #X restore 284 255 pd sum(mi*i); #N canvas 573 330 450 328 sum(mi) 0; #X obj 179 137 +; #X obj 206 138 f; #X msg 296 77 0; #X obj 179 55 inlet; #X obj 296 55 inlet; #X obj 179 170 outlet; #X text 143 34 in: (idx value); #X text 40 89 swap to: (val idx); #X text 67 172 sum of values; #X obj 179 89 swap; #X connect 0 0 1 0; #X connect 0 0 5 0; #X connect 1 0 0 1; #X connect 2 0 0 1; #X connect 3 0 9 0; #X connect 4 0 2 0; #X connect 9 0 0 0; #X restore 163 253 pd sum(mi); #X obj 210 559 outlet; #X obj 127 399 spigot 1; #X obj 145 285 f; #X obj 240 528 print list-centroid; #X obj 210 468 t b b; #X msg 240 503 warning: sum of items equals 0: centroid is undefined! ; #X obj 127 89 t b b a b b; #X text 69 26 centroid (center of mass) = sum(mi * i) / sum(mi); #X connect 0 0 2 0; #X connect 1 0 16 0; #X connect 3 0 4 0; #X connect 4 0 9 0; #X connect 4 1 8 0; #X connect 5 0 0 1; #X connect 6 0 5 0; #X connect 6 1 5 1; #X connect 7 0 14 0; #X connect 7 1 6 0; #X connect 8 0 6 1; #X connect 9 0 12 1; #X connect 11 0 0 0; #X connect 12 0 7 0; #X connect 12 0 11 1; #X connect 14 0 10 0; #X connect 14 1 15 0; #X connect 15 0 13 0; #X connect 16 0 11 0; #X connect 16 1 12 0; #X connect 16 2 3 0; #X connect 16 3 9 1; #X connect 16 4 8 1;