-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Add all remaining IROperator ops to Python bindings #8771
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Neither Python standard `math` nor `np.atan` support this hypothetical overload
Different clang-format versions want to format the C-style cast differently. This is annoying. Add some blank lines for visual flow.
static_cast<> didn't work for default-argument version, so call it through a lambda.
32978ac to
46574ca
Compare
46574ca to
e7e0a9f
Compare
abadams
approved these changes
Aug 19, 2025
rtzam
approved these changes
Aug 20, 2025
mcourteaux
approved these changes
Aug 20, 2025
mcourteaux
reviewed
Aug 20, 2025
|
|
||
| m.def("mux", (Expr(*)(const Expr &, const std::vector<Expr> &))&mux); | ||
| m.def("mux", static_cast<Expr (*)(const Expr &, const std::vector<Expr> &)>(&mux)); | ||
| m.def("mux", static_cast<Expr (*)(const Expr &, const Tuple &)>(&mux)); |
Contributor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Today I learned: overload selection when taking function pointers.
mcourteaux
approved these changes
Aug 20, 2025
Contributor
|
Failures unrelated. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I finally audited the IROperator.h header and added the missing Python bindings here.
I also corrected an apparently inadvertent overload to the normal
hl.atanfunction that allowed it to behave likehl.atan2when supplied two arguments. This wasn't tested anywhere in the bindings, so I don't know who this will frustrate. But neither the Pythonmath.atannor Numpy'snp.atansupport such an overload.I opened #8770 to track the fact that this PR is also missing tests. I want to get this in sooner rather than later to unblock @rtzam.
Fixes #8751
Fixes #8769