Skip to content

Add implementation of dpnp.ldexp #2110

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 23 commits into from
Oct 18, 2024
Merged

Add implementation of dpnp.ldexp #2110

merged 23 commits into from
Oct 18, 2024

Conversation

antonwolfy
Copy link
Contributor

@antonwolfy antonwolfy commented Oct 14, 2024

The PR proposes to add implementation of dpnp.ldexp function.

The new dedicated _ldexp function are added to _ufunc_impl pybind11 extension.
All the required tests are implemented to cover the new functions. Internal DPNPBinaryFunc class is extended to support weak_type_resolver callback.

  • Have you provided a meaningful PR description?
  • Have you added a test, reproducer or referred to issue with a reproducer?
  • Have you tested your changes locally for CPU and GPU devices?
  • Have you made sure that new changes do not introduce compiler warnings?
  • Have you checked performance impact of proposed changes?
  • If this PR is a work in progress, are you filing the PR as a draft?

@antonwolfy antonwolfy self-assigned this Oct 14, 2024
Copy link
Contributor

github-actions bot commented Oct 14, 2024

View rendered docs @ https://intelpython.github.io/dpnp/index.html

@antonwolfy antonwolfy marked this pull request as ready for review October 15, 2024 12:42
Copy link
Collaborator

@vlad-perevezentsev vlad-perevezentsev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!
Thank you @antonwolfy

@antonwolfy antonwolfy merged commit da64a4b into master Oct 18, 2024
42 of 46 checks passed
@antonwolfy antonwolfy deleted the impl-ldexp branch October 18, 2024 12:21
github-actions bot added a commit that referenced this pull request Oct 18, 2024
* Add _ldexp to ufunc extension

* Add dpnp.ldexp to python interface

* Enable third party test

* Add CFD tests

* Enable umath tests

* Add support of `weak_type_resolver` keyword to DPNPBinaryFunc class

* Add more integer type to matrix

* Proper handling of large exponent values

* Add more tests

* Add a test with scalar exp of bool type

* Fix exception raised in numpy.ldexp by test_overflow

* Mute tests with unsupported loop for numpy.ldexp

* Apply suggestions from code review

Co-authored-by: vtavana <[email protected]>

* State limitations for real, imag, rint, round, angle, fabs, fix functions

* Remove limitation block for angle, real, round functions

* Align real and imag signatures with ones from dpctl

* Add missing description of deg keyword to dpnp.angle

* State expected dtypes for input arrays

* Fix typos in limitations

---------

Co-authored-by: vtavana <[email protected]> da64a4b
vtavana added a commit that referenced this pull request Oct 28, 2024
* Add _ldexp to ufunc extension

* Add dpnp.ldexp to python interface

* Enable third party test

* Add CFD tests

* Enable umath tests

* Add support of `weak_type_resolver` keyword to DPNPBinaryFunc class

* Add more integer type to matrix

* Proper handling of large exponent values

* Add more tests

* Add a test with scalar exp of bool type

* Fix exception raised in numpy.ldexp by test_overflow

* Mute tests with unsupported loop for numpy.ldexp

* Apply suggestions from code review

Co-authored-by: vtavana <[email protected]>

* State limitations for real, imag, rint, round, angle, fabs, fix functions

* Remove limitation block for angle, real, round functions

* Align real and imag signatures with ones from dpctl

* Add missing description of deg keyword to dpnp.angle

* State expected dtypes for input arrays

* Fix typos in limitations

---------

Co-authored-by: vtavana <[email protected]>
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.

3 participants