sorting: compare_doubles()

Brian Gough bjg@network-theory.co.uk
Wed Dec 19 13:20:00 GMT 2001


Pasquale Tricarico writes:
 >  Probably there is a bug in the compare_doubles() function, as
 >  written
 > in the documentation of the 1.0 release. It's form is:
 >  int compare_doubles (const double * a, const double * b) {
 >     return (int) (*a - *b);
 > }
 >  This function returns -1,0 or +1 depending on the values assumed
 > by *a and *b, except in the case of two doubles with an absolute
 > difference smaller than one; i.e.:
 >  in this case, the function will return ((int)0.4), that is equal
 >  to
 > zero, even if the two doubles are different!!

Hi,

Thanks for the bug report.  Well spotted, it should be changed.  (I
copied that example out of the GNU C Library manual by the way).

regards 
Brian




More information about the Gsl-discuss mailing list