
Hi all – I now have fixes for all the issues I’m aware of. However, it’s quite possible I’ve made a mistake somewhere (either in the new code or the testing), so if anyone would like to help review either please let me know. Group 1 issues (real numbers in Windows, where the defects are in mingw-w64: I’ve raised issue #20424https://gitlab.haskell.org/ghc/ghc/-/issues/20424 for this. The fixes (commits 66ba5f32https://github.com/mingw-w64/mingw-w64/commit/66ba5f3221c786de24f5fc4b9c0236... and 021dffb8ahttps://github.com/mingw-w64/mingw-w64/commit/021dffb8a482eb9d1b39569cd1ea42...) have been made in mingw-w64 and are getting integrated into Haskell soon. Group 2 issues (complex numbers, where the defects are in Complex.hs). I’ve raised issue #20425https://gitlab.haskell.org/ghc/ghc/-/issues/20425 for this and have the code fixes herehttps://gitlab.haskell.org/davjam/ghc/-/blob/ComplexBranchCuts/libraries/bas.... The new code changes many of the functions (I’ve given examples in the issue) and adds a few. I’ve also put the Haddock output herehttps://davjam.github.io/HaskellNumericsTestsFixes/TrigDiags/Data-Complex.ht.... (It now defines and gives an explanation of the branch cuts). I’ve also put some diagrams herehttps://davjam.github.io/HaskellNumericsTestsFixes/TrigDiags/Curr.html illustrating some of the problems. I’ve done about as much testing as I can think of, using the code herehttps://github.com/davjam/HaskellNumericsTestsFixes/blob/main/ComplexTests.h.... Ideally I’d bulk-test against a reliable independent source, but can’t find one. AFAICT WolframAlphahttps://www.wolframalpha.com/input/?i=sin%28-0.0%29, Excel, gnumeric, CLISP don’t support negative zeros. Pythonhttps://www.python.org/ seems to, but cmath has incorrect branch cuts (cmath.sqrt(-4-0j) gives 2j). Matlabhttps://www.advanpix.com/2016/04/28/branch-cuts-and-signed-zeros-in-matlab/ also seems deficient in a number of areas. (Hmmm: maybe no one cares about these working correctly??) Sorry about the delay in sending this, David.