-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Fix handling of numpy integers in marginal_distribution() #9976
Conversation
This commit fixes an oversight in the input type checking for the marginal_distribution() function. The function which is primarily written in rust has some quick input type checking to raise a more descriptive TypeError if the input distribtion/counts object isn't of a known type (and also to dispatch to the correct rust function). This type checking was overly restrictive and would cause an error to be raised if an input counts dictionary was using numpy integer types as a value instead of a python int. This commit updates the type check to treat numpy ints as valid too.
Thank you for opening a new pull request. Before your PR can be merged it will first need to pass continuous integration tests and be reviewed. Sometimes the review process can be slow, so please be patient. While you're waiting, please feel free to review other open PRs. While only a subset of people are authorized to approve pull requests for merging, everyone is encouraged to review open pull requests. Doing reviews helps reduce the burden on the core team and helps make the project's code better for everyone. One or more of the the following people are requested to review this:
|
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.
Technically I think the float
check in the elif
branch can fail if people are using Numpy half- or single-precision floats (or quad-precision!), but I don't know if we care about that. I don't even know if PyO3 would do the conversion in those cases.
Pull Request Test Coverage Report for Build 4721469484
💛 - Coveralls |
This needs a |
* Fix handling of numpy integers in marginal_distribution() This commit fixes an oversight in the input type checking for the marginal_distribution() function. The function which is primarily written in rust has some quick input type checking to raise a more descriptive TypeError if the input distribtion/counts object isn't of a known type (and also to dispatch to the correct rust function). This type checking was overly restrictive and would cause an error to be raised if an input counts dictionary was using numpy integer types as a value instead of a python int. This commit updates the type check to treat numpy ints as valid too. * Add support for np float values too
Summary
This commit fixes an oversight in the input type checking for the marginal_distribution() function. The function which is primarily written in rust has some quick input type checking to raise a more descriptive TypeError if the input distribution/counts object isn't of a known type (and also to dispatch to the correct rust function). This type checking was overly restrictive and would cause an error to be raised if an input counts dictionary was using numpy integer types as a value instead of a python int. This commit updates the type check to treat numpy ints as valid too.
Details and comments