|
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