[squeak-dev] FFI+Linux+double return value

Schwab,Wilhelm K bschwab at anest.ufl.edu
Tue Apr 6 18:45:38 UTC 2010


Hello all,

I had some strange results with double return values and boiled it down to a C function

Double AnyDouble()
{
	return 1.0;
}

called via

  anyDouble
  < cdecl: double 'AnyDouble' () >

and driven by

| out |
out := Array writeStream.
100 timesRepeat:[
  out nextPut:Library default anyDouble
].
out contents.

The results are not good.  It works for the first three elements, after which it produces NaN.  The real problem appears to be comparison of floats being broken after that point, as evidenced by a walkback that arises when trying to inspect the resulting collection - exploring it works.

I need to try this on the latest image/vm, but wanted to start gathering opinions.  Any ideas?

Bill





More information about the Squeak-dev mailing list