On 2010-09-22 16:48, Jonathan Wilkes wrote:
> 
> 
> expr if(bx<=20, if (py<=by && py+60>=by, 0, 1), -1);
> if (bx>=415, 2, -1);
> if (by<=0, 4, if (by>=500, 5, -1))
> 

honestly i find this hard to read as well, esp. compared to traditional
C-like syntax:

if(bx<=20)
  if(py<=by && py+60>=by)
    return 0;
  else
    return 1;
if(by>=415)
 return 2;
else
 return -1;
if(by<=0)
 return 4;
else if (by>=500)
 return 5;


and as a matter of fact, i don't think the pd-implementation of the
algorithm is so bad.
the only awkwardness in my implementation i find is the
 [*-1]->[moses 0]
, which one could simply replace by [moses -1] (supposed we don't care
about values between -1 and 0) (or with a [<=0]->[select 1] which i
didn't do for conceptual reasons)

fgmasdr
IOhannes
#N canvas 358 123 819 607 10;
#X obj 450 138 expr if(bx<=20 \, if (py<=by && py+60>=by \, 0 \, 1)
\, -1) \; if (bx>=415 \, 2 \, -1) \; if (by<=0 \, 4 \, if (by>=500
\, 5 \, -1));
#X floatatom 460 183 5 0 0 0 - - -;
#X floatatom 604 186 5 0 0 0 - - -;
#X floatatom 759 184 5 0 0 0 - - -;
#X obj 503 75 value bx;
#X obj 537 95 value by;
#X obj 572 115 value py;
#X obj 450 33 t b l;
#X obj 205 192 moses 415;
#X msg 256 213 2;
#X obj 256 234 t f;
#X floatatom 266 255 5 0 0 0 - - -;
#X obj 312 195 moses 500;
#X msg 383 257 5;
#X obj 312 216 * -1;
#X obj 312 237 moses 0;
#X obj 351 279 t f;
#X floatatom 357 300 5 0 0 0 - - -;
#X obj 205 167 t f;
#X obj 312 162 t f;
#X obj 73 186 <= 20;
#X obj 142 258 t f f;
#X obj 73 -29 inlet bx by py;
#X obj 503 55 unpack 0 0 0;
#X obj 73 165 unpack 0 0 0;
#X obj 169 277 + 60;
#X obj 107 279 t f f;
#X obj 107 321 *;
#X obj 73 -8 t l l;
#X obj 205 137 unpack 0 0 0;
#X obj 73 112 t l l;
#X msg 351 257 4;
#X obj 107 342 == 0;
#X obj 134 300 <=;
#X obj 107 300 >=;
#X obj 256 411 t f;
#X floatatom 351 462 5 0 0 0 - - -;
#X floatatom 73 409 5 0 0 0 - - -;
#X obj 73 207 select 1;
#X obj 351 480 t f;
#X obj 351 501 outlet;
#X obj 450 230 t f;
#X obj 450 251 select -1;
#X obj 73 366 f;
#X obj 501 404 t f;
#X floatatom 501 460 5 0 0 0 - - -;
#X obj 501 478 t f;
#X obj 501 499 outlet;
#X connect 0 0 1 0;
#X connect 0 0 41 0;
#X connect 0 1 2 0;
#X connect 0 1 41 0;
#X connect 0 2 3 0;
#X connect 0 2 41 0;
#X connect 7 0 0 0;
#X connect 7 1 23 0;
#X connect 8 1 9 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 0 35 0;
#X connect 12 0 14 0;
#X connect 12 1 13 0;
#X connect 13 0 16 0;
#X connect 14 0 15 0;
#X connect 15 1 31 0;
#X connect 16 0 17 0;
#X connect 16 0 35 0;
#X connect 18 0 8 0;
#X connect 19 0 12 0;
#X connect 20 0 38 0;
#X connect 21 0 34 1;
#X connect 21 1 25 0;
#X connect 22 0 28 0;
#X connect 23 0 4 0;
#X connect 23 1 5 0;
#X connect 23 2 6 0;
#X connect 24 0 20 0;
#X connect 24 1 26 0;
#X connect 24 2 21 0;
#X connect 25 0 33 1;
#X connect 26 0 34 0;
#X connect 26 1 33 0;
#X connect 27 0 32 0;
#X connect 28 0 30 0;
#X connect 28 1 7 0;
#X connect 29 0 18 0;
#X connect 29 1 19 0;
#X connect 30 0 24 0;
#X connect 30 1 29 0;
#X connect 31 0 16 0;
#X connect 32 0 43 1;
#X connect 33 0 27 1;
#X connect 34 0 27 0;
#X connect 35 0 36 0;
#X connect 36 0 39 0;
#X connect 38 0 43 0;
#X connect 39 0 40 0;
#X connect 41 0 42 0;
#X connect 42 1 44 0;
#X connect 43 0 35 0;
#X connect 43 0 37 0;
#X connect 44 0 45 0;
#X connect 45 0 46 0;
#X connect 46 0 47 0;

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to