NFFT / nfft

The official NFFT library repository
https://tu-chemnitz.de/~potts/nfft/
GNU General Public License v2.0
174 stars 46 forks source link

test failure for long-double with threads in windows #56

Open michaelquellmalz opened 7 years ago

michaelquellmalz commented 7 years ago

The test checkall_threads.exe fails with enabled long-double precision in Windows, see the logfile checkall_threads.txt. However, the single threaded test checkall.exe passed (checkall.txt). I used GCC 7.2.0 in 64bit MinGW (the check also fails with GCC 5.4.0). Note that these tests only run after the bugfix #55 (which previously caused checkall to crash).

michaelquellmalz commented 7 years ago

This bug seems to be caused by the OpenMP impementation in MinGW, which seems to do all computations actually in double instead of long double. Inserting the line __asm__("fninit"); in nfft_trafo_direct fixes the problem for this function. But this would have to be done in all OMP calls, but only for long double and only in MinGW ...

michaelquellmalz commented 7 years ago

I posted a bug report on the MinGW-w64 project which is now under investigation.