Skip to content
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

[WIP] numpy_ufunc: Allow custom ufuncs to be defined #1325

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

EricCousineau-TRI
Copy link
Collaborator

@EricCousineau-TRI EricCousineau-TRI commented Mar 17, 2018

I ended up implementing this for the following feature:
RobotLocomotion#12

This is a very minor adjustment for a WIP submission; things left to do:

  • Simplify logic for defining builtin dtype loops; at present, it's nasty because I originally only focused on user-defined dtypes
  • Add unittests - there are some in the above fork's PR for operator overloading, but nothing explicitly focused on ufuncs really
  • See if structured dtypes are supported
  • Either fix detail/inteference.h to be C++11-friendly, or ditch it and inline the function signature inference - I've seen this mechanism more or less copied+pasted in several locations in the code, and had pulled this from my implementation here in preparation for wrapping things like def without having to repeating myself too much
    • EDIT: Ahhh, shoot, forgot that C++11 didn't support auto returns :/ That makes things a tad... inconvenient. Will see if I can make a clever workaround, or ditch it and copy-and-paste the structure :(

May relate #1294?

@chaitan94
Copy link
Contributor

This is really interesting! 😄

I know it's been quite a while now since this PR was raised - but would it be possible for you to add a code sample showing an example/intended usage or a test case of this new feature? I wanted to test this out and I think having that would add a lot of clarity to the PR in general.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants