lua-users home
lua-l archive

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


On 12/9/2011 7:45 PM, Roberto Ierusalimschy wrote:
Ah, there're few more troubles with tdm64-gcc4.5.1:

coroutine.lua
a = 625--line 189

math.lua
a^b == 08 is false at line 8
also 56, 58, 69, 70, 71, 72, 73, 75, 117 and so on...

I think there's something very wrong with this compiler...

An update, the tdm-gcc4.6.x series should work fine. From the mingw64-runtime-svn4483-src sources, the pow() implementation does have a check for integer exponents and handles them properly. The relevant ChangeLog entry is

2011-03-15  Kai Tietz  <ktietz70@googlemail.com>

	* math/exp.def.h: Use integer/fraction separation for improving
	calculation precision.
	* math/pow.def.h: Use log2l/exp2l and integer/fraction separation
	for improving calculation precission.

plus a following rounding fix on 2011-03-26. tdm64-gcc4.5.2 seems to have a release date of 2011-03-27, so I reckon we should move to 4.6.1...

I'm not using tdm64-gcc; it would be nice to confirm that the issue is fixed in the 4.6.1 series.

--
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia