Changes between Version 11 and Version 24 of Ticket #19797
 Timestamp:
 12/31/15 09:01:04 (5 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

Ticket #19797

Property
Summary
changed from
Build GSL in IEEE 754 compliant mode
toDisallow automatic abs() simplifications resulting nonreal expressions

Property
Summary
changed from

Ticket #19797 – Description
v11 v24 1 The following can happen on some hardware architectures due to fused multiplyadd instructions:1 Calling `abs()` on certain expressions can yield something which is not guaranteed to be evaluated as a real number: 2 2 {{{ 3 sage: x = CDF(0.99, 0.2) 4 sage: x * x.conj() 5 1.0201 + 1.1102230246251575e19*I 3 sage: abs(x^2) 4 x*conjugate(x) 6 5 }}} 7 6 8 It's annoying because it causes doctest failures, for example 7 In the presence of numerical noise, the expression `x*conjugate(x)` can actually a nonzero imaginary part. And even if there is no noise, the type would be wrong: complex instead of real. 8 9 This causes the following doctest failure: 9 10 {{{ 10 11 sage t long warnlong 62.3 src/sage/symbolic/expression.pyx … … 19 20 ********************************************************************** 20 21 }}} 22 21 23 See https://github.com/pynac/pynac/issues/117