[PD-cvs] abstractions/footils/list-abs list-centroid-help.pd, NONE, 1.1 list-centroid.pd, NONE, 1.1 list-minmax.pd, 1.1, 1.2

Frank Barknecht fbar at users.sourceforge.net
Sat Apr 21 15:14:50 CEST 2007


Update of /cvsroot/pure-data/abstractions/footils/list-abs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7158

Modified Files:
	list-minmax.pd 
Added Files:
	list-centroid-help.pd list-centroid.pd 
Log Message:
centroid added, minmax optimized

Index: list-minmax.pd
===================================================================
RCS file: /cvsroot/pure-data/abstractions/footils/list-abs/list-minmax.pd,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** list-minmax.pd	1 Nov 2005 12:41:16 -0000	1.1
--- list-minmax.pd	21 Apr 2007 13:14:48 -0000	1.2
***************
*** 1,12 ****
! #N canvas 499 299 571 374 10;
! #X obj 128 37 list-drip;
! #X obj 128 60 route float;
! #X obj 128 204 f;
! #X obj 112 284 outlet;
! #X obj 171 259 f;
! #X obj 171 286 outlet;
! #X obj 40 198 t b b;
! #X obj 128 13 inlet;
! #X obj 112 256 f;
  #N canvas 0 0 450 300 once 0;
  #X obj 110 75 inlet;
--- 1,12 ----
! #N canvas 385 204 676 470 10;
! #X obj 128 97 list-drip;
! #X obj 128 120 route float;
! #X obj 159 256 f;
! #X obj 106 394 outlet;
! #X obj 165 369 f;
! #X obj 165 396 outlet;
! #X obj 106 305 t b b;
! #X obj 106 10 inlet;
! #X obj 106 366 f;
  #N canvas 0 0 450 300 once 0;
  #X obj 110 75 inlet;
***************
*** 24,60 ****
  #X connect 4 0 1 1;
  #X connect 5 0 4 0;
! #X restore 218 112 pd once;
! #X obj 128 90 t f f f;
! #X obj 218 59 s \$0-end;
! #X obj 262 87 r \$0-end;
! #X obj 40 174 r \$0-end;
! #X obj 128 146 <=;
! #X obj 128 168 select 1;
! #X obj 244 205 f;
! #X obj 244 169 select 1;
! #X obj 244 147 >=;
  #X connect 0 0 1 0;
! #X connect 0 1 11 0;
! #X connect 1 0 10 0;
! #X connect 2 0 8 1;
! #X connect 2 0 14 1;
  #X connect 4 0 5 0;
  #X connect 6 0 8 0;
  #X connect 6 1 4 0;
! #X connect 7 0 0 0;
  #X connect 8 0 3 0;
! #X connect 9 0 14 1;
! #X connect 9 0 18 1;
! #X connect 10 0 14 0;
! #X connect 10 0 18 0;
! #X connect 10 1 16 1;
! #X connect 10 1 2 1;
! #X connect 10 2 9 0;
! #X connect 12 0 9 1;
! #X connect 13 0 6 0;
! #X connect 14 0 15 0;
! #X connect 15 0 2 0;
! #X connect 16 0 4 1;
! #X connect 16 0 18 1;
! #X connect 17 0 16 0;
! #X connect 18 0 17 0;
--- 24,53 ----
  #X connect 4 0 1 1;
  #X connect 5 0 4 0;
! #X restore 260 183 pd once;
! #X obj 275 258 f;
! #X obj 244 257 max;
! #X obj 128 256 min;
! #X obj 128 150 t a a a;
! #X obj 106 30 t b a b;
! #X text 321 183 prime [min] and [max] with first item once;
  #X connect 0 0 1 0;
! #X connect 1 0 13 0;
! #X connect 2 0 12 1;
  #X connect 4 0 5 0;
  #X connect 6 0 8 0;
  #X connect 6 1 4 0;
! #X connect 7 0 14 0;
  #X connect 8 0 3 0;
! #X connect 9 0 11 1;
! #X connect 9 0 12 1;
! #X connect 10 0 11 1;
! #X connect 11 0 10 0;
! #X connect 11 0 4 1;
! #X connect 12 0 2 0;
! #X connect 12 0 8 1;
! #X connect 13 0 12 0;
! #X connect 13 1 11 0;
! #X connect 13 2 9 0;
! #X connect 14 0 6 0;
! #X connect 14 1 0 0;
! #X connect 14 2 9 1;

--- NEW FILE: list-centroid.pd ---
#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-cog;
#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;

--- NEW FILE: list-centroid-help.pd ---
#N canvas 285 188 596 561 10;
#X floatatom 129 468 5 0 0 0 centroid - -;
#X msg 129 363 1 1 1 1;
#X msg 245 260 0 0 0 0;
#X msg 245 279 -1 1;
#X obj 215 469 bng 15 250 50 0 empty empty result_undefined 17 7 1
10 -262144 -1 -1;
#X msg 129 245 0 1 0;
#X obj 129 439 list-centroid;
#X text 63 25 [list-centroid];
#X text 93 90 centroid = sum(mi * i) / sum(mi);
#X text 71 49 Calculates the centroid or center of mass of a list of
floats according to:;
#X text 67 115 where the index i starts from 0;
#X msg 247 344 -1 3;
#X msg 129 287 1 2 3;
#X text 314 270 these two are undefined!;
#X msg 129 341 5 5 5;
#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 - 5;
#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 295 337 pd randlist;
#X msg 295 363 4;
#X msg 295 315 bang;
#X msg 129 306 10 20 30;
#X msg 129 267 0 2 0 0 0 1;
#X msg 248 325 -1 2;
#X msg 248 407 -10 9;
#X text 305 406 Note: a centroid can be negative!;
#X text 75 520 2007 Frank Barknecht;
#X text 67 146 Negative values are possible.;
#X text 65 174 If all floats add up to 0 \, the result is undefined.
In this case \, no result will be sent to the first outlet \, instead
the second outlet will bang and a console warning will be issued.;
#X connect 1 0 6 0;
#X connect 2 0 6 0;
#X connect 3 0 6 0;
#X connect 5 0 6 0;
#X connect 6 0 0 0;
#X connect 6 1 4 0;
#X connect 11 0 6 0;
#X connect 12 0 6 0;
#X connect 14 0 6 0;
#X connect 15 0 16 0;
#X connect 16 0 6 0;
#X connect 17 0 15 0;
#X connect 18 0 6 0;
#X connect 19 0 6 0;
#X connect 20 0 6 0;
#X connect 21 0 6 0;





More information about the Pd-cvs mailing list