[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

denormalized FP numbers causing exceptions

On Redhat 7.1, default GCC version 2.96, I'm getting floating
exceptions on what appear to be denormalized numbers.  The code
is the Bow (or rainbow) information retrieval toolkit, and it's
blowing up in the following code:

	  double scores_sum = 0;
	  for (ci = 0; ci < barrel->cdocs->length; ci++)
	    scores_sum += scores[ci];

It appears whenever an input to the '+=' operator is less than
10^300, 10^308, or so, I get the floating exception.  At least
one of the numbers is around 1, so the tiny numbers could be
rounded to zero and it wouldn't affect the final result.  I
suppose I could try to add code to change an array element to
zero if it was less than about 10^290, but this may hit the same
exception as the addition attempt.

Is there a compiler option to either not generate denormalized
numbers or to handle them gracefully?


Robert Riches

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []