Test field interface conformance for arb types#1886
Conversation
| function equality(a::T, b::T) where T <: Union{ArbFieldElem,RealFieldElem,AcbFieldElem,ComplexFieldElem} | ||
| return isequal(a, b) | ||
| end |
There was a problem hiding this comment.
this is a gross hack that I used to pass some tests (so that equality(a, deepcopy(a)) holds -- or for that matter, equality(a, a)).
But what we really need is a working isapprox method, see issue #1877
There was a problem hiding this comment.
could you split this up into the four files? In the way this is currently, one cannot just run "Complex-test.jl" on its own as it needs this definition.
And I noticed that there is == and isequal for these types, and they call different flint functions. What is the difference and why did you choose isequal for this case?
There was a problem hiding this comment.
Sorry my comment was confusing written (I've edited it now). The point is that equality by default is implemented using ==. But for arb types, in general a == a is not satisfied.
Hence this hack of using isequal which at least ensures equality(a, deepcopy(a)) and equality(a, a) both return true. But it doesn't really solve the problem, we need isapprox.
d4a88c9 to
258e64b
Compare
No description provided.