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

N-dimensional slicing and element-wise iterator #40

Merged
merged 3 commits into from
Sep 26, 2023

Conversation

henrique-borba
Copy link
Member

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

fix: stable N-dimensional slicing
The slicing mechanism was broken for some N-dimensional matrices, this update uses a ported variation of the NumPy source code to correctly select slice indices and strides. This update also makes all returns from the slicing views instead os copies, avoiding copies in RAM memory and increasing performance.

feat: New element-wise strided iterator.
An element-wise iterator was implemented in the C backend to centralize and facilitate element-wise operations that must consider strides to return a correct result. This iterator is a derivative work of the iterator used by NumPy.

feat: N-dimensional transpose and automatic C contiguous conversion to avoid non-contiguous lack of support.
@henrique-borba henrique-borba added bug Something isn't working enhancement New feature or request labels Sep 26, 2023
@henrique-borba henrique-borba added this to the 1.0 milestone Sep 26, 2023
@henrique-borba henrique-borba merged commit dd9c0cc into main Sep 26, 2023
@henrique-borba henrique-borba deleted the feat/update_package_1 branch September 26, 2023 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

1 participant