Opened 21 months ago

Last modified 6 days ago

## #31768 new enhancement

# Implement subclasses of ANUnaryExpr for finer control

Reported by: | tscrim | Owned by: | |
---|---|---|---|

Priority: | major | Milestone: | |

Component: | basic arithmetic | Keywords: | |

Cc: | Merged in: | ||

Authors: | Travis Scrimshaw | Reviewers: | |

Report Upstream: | N/A | Work issues: | |

Branch: | public/rings/qqbar_unary_split-31768 (Commits, GitHub, GitLab) | Commit: | d9aa8cdf004fa4eed1ad8a1c15a3eff32c942a6f |

Dependencies: | Stopgaps: |

### Description

I propose to subclass the `ANUnaryExpr`

class corresponding to each individual operation in order to both avoid large case checking of the operations and to implement trivial simplification rules for chains on unary operations. The idea is that this will save time when calling `exactify()`

and `_interval_fast()`

.

### Change History (6)

### comment:1 Changed 21 months ago by

Branch: | → public/rings/qqbar_unary_split-31768 |
---|---|

Commit: | → d9aa8cdf004fa4eed1ad8a1c15a3eff32c942a6f |

### comment:2 Changed 19 months ago by

Milestone: | sage-9.4 → sage-9.5 |
---|

### comment:3 Changed 14 months ago by

Milestone: | sage-9.5 → sage-9.6 |
---|

### comment:4 Changed 10 months ago by

Milestone: | sage-9.6 → sage-9.7 |
---|

### comment:5 Changed 5 months ago by

Milestone: | sage-9.7 → sage-9.8 |
---|

### comment:6 Changed 6 days ago by

Milestone: | sage-9.8 |
---|

**Note:**See TracTickets for help on using tickets.

This will have a small trivial conflict with #31767, but otherwise it is independent.

New commits:

`Initial sketch of subclassing ANUnaryExpr.`