-
Notifications
You must be signed in to change notification settings - Fork 15
sellipse/scircle overlaps regression tests #61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@df7cb The overlaps.sql test purpose is to highlight the differences between DE9-IM semantics of overlaps operation and the behaviour of pgsphere's overlap operation. The expected column contains the value as described in DE9-IM as it should be if pgsphere follows DE9-IM. The actual column shows the current result of the operation. The differences in 'actual' column should be investigated and fixed. I'm not sure why it happens now. Definitely, we have to fix such difference in behaviour on 64 and 32 bit platforms. Thank you very much for reporting. The patch 56ff366 fixes the read of unitialized memory that was revealed by overlaps.sql test when compiling with different optimization gcc settings (O0, O2). It is pretty simple fix. I don't exclude that same problem may appear in other places. We have some plans to add more platforms for testing, including 32 bit platforms as well. |
@df7cb I've run pgsphere tests on FreeBSD 13.2-RELEASE GENERIC i386 (without healpix). All tests are passed ok. Did you use 1.3.0 version (latest)? Which platform did you use to run the tests? |
I reproduced the test fail on 32 bit Debian Linux on my virtual box. |
The problem originates in FPge function. It may produce different results when using MMX on 64 bit and i32 FPU. There is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=323 bug. It can be fixed by gmake CFLAGS=-ffloat-store when compiling pgsphere but it may affect the performance. It seems that comparison functions FPeq/ne/lt/le/gt/ge should be slightly changed in case of 32 bit platforms. I'm working on it. |
Hmm, |
Your patch fixes the problem ✔️ |
Hi,
on 32-bit i386 Debian Linux I see a regression failure:
Also, this bit from 56ff366 looks fishy:
Why was the "actual" value updated? It's not failing, but if there is an "expected" column, they should match.
The text was updated successfully, but these errors were encountered: