You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the current implementation, computing the argument of a complex number depends on the system math library's implementation of atan2, which is not guaranteed to produce exactly rounded (or otherwise portably reproducible) results. However, the principal complex square root can be computed using only the usual correctly rounded operations (+, -, *, /, sqrt), which are reproducible on all IEEE 754 systems.
The text was updated successfully, but these errors were encountered:
Muon
changed the title
Complex::sqrt() does not produce cross-sytem reproducible resultsComplex::sqrt() does not produce cross-system reproducible results
Mar 25, 2025
In the current implementation, computing the argument of a complex number depends on the system math library's implementation of
atan2
, which is not guaranteed to produce exactly rounded (or otherwise portably reproducible) results. However, the principal complex square root can be computed using only the usual correctly rounded operations (+, -, *, /, sqrt), which are reproducible on all IEEE 754 systems.The text was updated successfully, but these errors were encountered: