I hope you do not mind the significant delay in my response.
On Wed, Jan 26, 2005 at 05:45:34PM -0800, Art Vanden Berg wrote:
As things turned out, the only onboard software bug that caused any problem
was a single case of forgetting to use fabs(float) in one conditional line.
Just one bug in C is impressive. Congratulations.
As for would this have happened in Ada?: a positive real data type could
have been used such that forgetting to get its absolute value would not
have been an issue: but perhaps you would have forgotten to declare such a
type (however, if you needed to use fabs() more than once, then there is
already a bonus in simply declaring positive floating point numbers
without having to remember to apply the absolute conversion logic every
time), but depending on your needs perhaps a negative real value was
meaningful for the variable in your bug in other parts of the code in
which case you might not have been so lucky that a compile time error
message would have saved you instead of a runtime problem with C, but it