mars-project / mars-project/mars
Numexpr's support is not complete
- Dominant language
- Python
- Stars
- 2.7k
- Forks
- 325
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
When I fix #652, I find the bin-op support of numexpr is not very complete.
As the[ code](https://github.com/mars-project/mars/blob/e718779a975c4b8f2557f53f51566f908284291c/mars/tensor/fuse/ne.py#L140) of handle bin-op. It only consider some limited cases. For more cases, such as `arctan2(x1,x2)` not support. However, arctan(x1,x2) now is [supported](https://numexpr.readthedocs.io/projects/NumExpr3/en/latest/release_notes.html?highlight=Arctan2#release-notes-for-numexpr-2-6-series) from numexpr.
**Describe the solution you'd like**
Modify the handle_bin_op.
Also, we should add more support ops to be consistent with numexpr.
Contributor guide
Research direction
Start with mars/tensor/fuse/ne.py around the handle_bin_op implementation referenced in the issue, then compare its supported cases with the linked NumExpr release notes. Identify the missing operations, including arctan2, and verify the resulting fused-expression behavior with the relevant existing tests, though no test file is named in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100