id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,merged,author,reviewer,upstream,work_issues,branch,commit,dependencies,stopgaps
20074,QQbar cleaning 2,vdelecroix,,"We further simplify QQbar code by:
- using python operator to indentify binary operators instead of strings. In other words we replace `'+'` by `operator.add`, `'-'` by `operator.sub`, etc
- writing only one function `binop` instead of `addsub` and `muldiv`.
- removing the methods `kind`, `is_exact`, `is_rational`, `is_field_element` of descriptors and instead use the class themselves
- removing the method `rational_value` and directly access the `_value` attribute
- detect unions earlier in the code to avoid constructing `ANBinaryExpr`
As a consequence of the last items, we have exactification detected earlier
{{{
sage: sqrt17 = QQbar(17).sqrt()
sage: sqrt19 = QQbar(19).sqrt()
sage: (sqrt17 + sqrt19).exactify()
sage: sqrt17 * sqrt19 + sqrt17 - sqrt19 * sqrt17 - sqrt17
0
}}}
Instead of `0.?e-17` on the current beta. See also the better output in doctests from the commit `7fa8ed4`.
follow up: #19955",enhancement,closed,major,sage-7.1,number fields,fixed,,,,Vincent Delecroix,"Frédéric Chapoton, Travis Scrimshaw",N/A,,5cc7c4946ca5524e4caec8de0ae2e5acf201943f,5cc7c4946ca5524e4caec8de0ae2e5acf201943f,,