From: Tom B. <tom...@gm...> - 2011-09-16 20:55:11
|
I'm cleaning up some old cruft and found this change to HACKING (diff -p) I started some time ago but don't remember the context. I'll submit it if it hasn't been rejected already. *** HACKING Fri Sep 16 15:10:08 2011 --- HACKING.mine Fri Sep 16 15:10:08 2011 *************** Violations of these rules in the existin *** 449,454 **** --- 449,463 ---- follow suit. If code is seen that doesn't conform, it may and should be fixed. + Floating point (FP) comparisons: + + When FP comparisons are absolutely necessary, use the ZERO and EQUAL + macros (defined in vmath.h which is included in bu.h). Examples of + use: + + * instead of "foo == 2.0" use "EQUAL(foo,2.0)" + * instead of "foo > 0.0" use "foo > ZERO" + Code Organization: Code that is potentially useful to another application, or that may be Cheers! -Tom |
From: Christopher S. M. <br...@ma...> - 2011-09-16 21:51:08
|
On Sep 16, 2011, at 4:54 PM, Tom Browder wrote: > I'm cleaning up some old cruft and found this change to HACKING (diff > -p) I started some time ago but don't remember the context. I'll > submit it if it hasn't been rejected already. I think that information belongs under the existing "Code conventions:" but before the style section. I'd suggest before or after where it talks about function replacements in that section. The addition is good, but I would suggest a rewording, something to encourage NEAR_ZERO()/NEAR_EQUAL() with a specified tolerance as being better than ZERO()/EQUAL(). Telling them why we do this would probably be good. Something like this maybe: Exact floating point comparisons are unreliable without requiring IEEE-compliant floating point math. BRL-CAD does not require IEEE-compliant floating point math for portability and performance reasons. When floating point comparisons are necessary, use the NEAR_EQUAL and NEAR_ZERO macros (defined in libbu) with a specified tolerance or the EQUAL and ZERO macros where a tolerance is indeterminate. Examples: ... Cheers! Sean |
From: Tom B. <tom...@gm...> - 2011-09-16 21:54:47
|
On Fri, Sep 16, 2011 at 16:51, Christopher Sean Morrison <br...@ma...> wrote: > > On Sep 16, 2011, at 4:54 PM, Tom Browder wrote: > >> I'm cleaning up some old cruft and found this change to HACKING (diff >> -p) I started some time ago but don't remember the context. I'll I found the context--it was from a critique you did of one of my commits. I'll try again with your suggestions. -Tom |