Open michaelquellmalz opened 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 ...
I posted a bug report on the MinGW-w64 project which is now under investigation.
The test
checkall_threads.exe
fails with enabled long-double precision in Windows, see the logfile checkall_threads.txt. However, the single threaded testcheckall.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 causedcheckall
to crash).