[PD-dev] [ pure-data-Bugs-1996275 ] [change] lets some duplicates thru

SourceForge.net noreply at sourceforge.net
Wed Jul 23 16:08:17 CEST 2008


Bugs item #1996275, was opened at 2008-06-17 12:38
Message generated for change (Comment added) made by eighthave
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1996275&group_id=55736

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: puredata
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Hans-Christoph Steiner (eighthave)
Assigned to: Nobody/Anonymous (nobody)
Summary: [change] lets some duplicates thru

Initial Comment:
Sometimes some duplicates get through [change] since it is doing a != for the comparison.  Instead it should do a  comparison with a set precision, something like this:

http://howto.wikia.com/wiki/Howto_compare_float_numbers_in_the_C_programming_language

//compares if the float f1 is equal with f2 and returns 1 if true and 0 if false
 int compare_float(float f1, float f2)
 {
  float precision = 0.00001;
  if (((f1 - precision) < f2) && 
      ((f1 + precision) > f2))
   {
    return 1;
   }
  else
   {
    return 0;
   }
 }

----------------------------------------------------------------------

>Comment By: Hans-Christoph Steiner (eighthave)
Date: 2008-07-23 10:08

Message:
Logged In: YES 
user_id=27104
Originator: YES

Since this comparison is happening in C space, it is done using the full
precision of the float.  But Pd only uses 6 digits of precision, so the
comparison should match that, not what is happening in C space. 

Basically, I hooked up a [change]-[print] to some sensor data, and it was
quite common to see the exact same number printed out one after the other.

----------------------------------------------------------------------

Comment By: IOhannes m zmlnig (zmoelnig)
Date: 2008-07-23 03:26

Message:
Logged In: YES 
user_id=564396
Originator: NO

do you have a practical example that exposes the bug?

in theory you are of course right, but in practice i wonder how this can
be applied to [change].

e.g. if i send "1" and the result of "2/2" to change, i might consider
these two as different enough :-)


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=478070&aid=1996275&group_id=55736




More information about the Pd-dev mailing list