Commit 93a450e
fix: avoid atan branch cut in complex trigonometric test
The atan_input generator sampled (Re=0, Im=1.5) at i=N/2, which lies on
the branch cut of complex atan at Re=0, |Im|>=1. C99 7.3.4.1 leaves the
sign of Re(catan(+/-0 + i*y)) for |y|>1 implementation-defined: glibc
returns +pi/2, musl returns -pi/2. xsimd matches glibc, so the test
fails on musl-based CI (e.g. void-linux x86_64-musl) with two
mismatches (one per complex<float>/complex<double> batch type).
Shift the real start from -10 to -9.5 so Re=0 occurs at i=19000, where
|Im|~0.975<1 - analytic territory where atan is uniquely defined and
all libcs agree. Negative/positive real coverage is preserved; only
the singular point on a region of unspecified behavior is dropped.1 parent 80c2362 commit 93a450e
1 file changed
Lines changed: 5 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
47 | 51 | | |
48 | 52 | | |
49 | 53 | | |
| |||
0 commit comments