mingw32 floating point diff
От | Peter Eisentraut |
---|---|
Тема | mingw32 floating point diff |
Дата | |
Msg-id | 18e57de7-3b46-ecdb-a2f4-d7506397c93e@2ndquadrant.com обсуждение исходный текст |
Ответ на | mingw32 floating point diff (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>) |
Ответы |
Re: mingw32 floating point diff
|
Список | pgsql-hackers |
On 2019-08-20 14:59, Peter Eisentraut wrote: > Running the regression tests on mingw32, I get the following diff in > circle.out: > > @@ -111,8 +111,8 @@ > WHERE (c1.f1 < c2.f1) AND ((c1.f1 <-> c2.f1) > 0) > ORDER BY distance, area(c1.f1), area(c2.f1); > five | one | two | distance > -------+----------------+----------------+------------------ > - | <(3,5),0> | <(1,2),3> | 0.60555127546399 > +------+----------------+----------------+------------------- > + | <(3,5),0> | <(1,2),3> | 0.605551275463989 > | <(3,5),0> | <(5,1),3> | 1.47213595499958 > | <(100,200),10> | <(100,1),115> | 74 > | <(100,200),10> | <(1,2),100> | 111.370729772479 > > I only get this on master/PG12, but not on PG11, so I suspect that the > new floating-point output routines could be the root of the issue. > > This happens only with the 32-bit build (mingw32), but not with a 64-bit > build (mingw64). OK, the problem isn't the new output routines. The result of the computations is actually different. The test itself is new in PG12. The difference in output is due to the mingw32 target using -mfpmath=387 by default. If you build with -mfpmath=sse -msee, the tests pass again. Do we care to do anything about this? Pick slightly different test data perhaps? -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: