Am 15.10.2015 um 02:21 schrieb Allin Cottrell:
On Wed, 14 Oct 2015, Sven Schreiber wrote:
>> I suspect that your code ends up squaring a very small number
and hence
>> producing a "subnormal" floating-point value (underflow). As noted in
>> the post above, different C libraries can respond to this differently:
>> some will set the variable errno to ERANGE in this case and some will
>> not.
>
> That "diagnosis from afar" seems to be correct: there is one value
> 4.9033e-310 in the vector which is going to be squared. Chapeau!
>
> It's strange though where this number is coming from in the first
> place...
It seems (not proven yet, just tentatively) the small number is coming
from the cdf() function. And playing around with the cdf() function (on
gretl for Windows) gives:
gretl-Version 1.10.91cvs
Aktuelle Sitzung: 2015-10-15 12:52
? ii = -37.64
? cc = cdf(N, ii)
? printf "%e %e\n", cc, cc^2
2.384211e-310 0.000000e+000
So here it seems to work ok without any underflow problems, I will now
test the same thing on the server / Linux.
cheers,
sven