nfft
nfft copied to clipboard
test failure for long-double with threads in windows
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).
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 ...
I posted a bug report on the MinGW-w64 project which is now under investigation.