Hello floating point lib users:

there is a BUG in file cmpsf.c:

The return code 0 for equal floats is returned only if these two floats 
a1, and a2 are 0. In this case, both float zeros, i.e. +0 and -0 are be 
equal to each other.

If two equal floats are not 0, then either code 1 or code -1 is 
returned, depending on the sign of these (equal) floats. This is 
obviously wrong, since return code 0 has to used in this case.

The BUG can be resolved by adding this code at line 40 to cmpsf.c:

     if (a1==a2) return 0;

Add this code to cmpsf.c e.g. at line 40, which is empty now.

Must be added before line 41 that checks for both  arguments less than 
0:    if(a1<0 && a2<0)   ....

File with BUG resolved was tested in application and works proper now.

Best regards, Volker Schindler.



------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to