summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch
diff options
context:
space:
mode:
authorRandy Eckenrode <randy@largeandhighquality.com>2023-07-18 18:34:38 -0600
committerRandy Eckenrode <randy@largeandhighquality.com>2023-07-19 13:43:34 -0600
commit4f923aa46c86a74b9b10a6f000e566f36e711e70 (patch)
tree2146879dea907f2a94b0b06033546d6928872977 /pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch
parent8e12c817e9e2401006d05a1ad5fc7b2d49938d73 (diff)
python3Packages.numpy: fix test failure on x86_64-darwin under Rosetta 2
The `atanhl` function is broken under Rosetta 2 with 80-bit long doubles, which numpy uses to implement long double complex numbers. This results in a test failure. Attempts were made to change the implementation of things, but that just changed the breakage. The following Swift program demonstrates the problem. import Foundation import Numerics let x = Float80(1.00000000e-20) let z = Complex(x) print("X: \(x), Z: \(z)") let x_atanh = Float80.atanh(x) let z_atanh = Complex.atanh(z) print("atanh:") print("X: \(x_atanh), Z: \(z_atanh)") let d = abs(x_atanh / z_atanh.real - 1) print("d: \(d)") On x86_64-darwin hardware, it prints the following: X: 1e-20, Z: (1e-20, 0.0) atanh: X: 1e-20, Z: (1e-20, 0.0) d: 0.0 On aarch64-darwin under Rosetta 2, it prints the following: X: 1e-20, Z: (1e-20, 0.0) atanh: X: 1e-20, Z: (-1.0237493319595677839e-40, 0.0) d: 9.7680161420558978584e+19 The latter is obviously incorrect. FB12656897 was submitted to Apple, but even if this is fixed eventually, this derivation needs to build for users (and Hydra) who aren’t on the latest version.
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch')
0 files changed, 0 insertions, 0 deletions