Skip to content

[pull] master from rust-ndarray:master #1

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

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

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 27, 2020

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jan 27, 2020
@pull pull bot added the merge-conflict Resolve conflicts manually label Feb 19, 2020
gkobeaga and others added 28 commits October 12, 2022 18:37
Fixed typos, reformulated sentences for an overall clearer document.
Try to make the master branch shipshape
Add NumPy examples combining slicing and assignment
Added select example to numpy user docs
Update README-quick-start.md
Updated Windows `base` Computations to be Safer
The existing documentation states that the behavior of slicing is the same as
in NumPy except when `step < -1`, implying that the behavior is the same when
`step = -1`. But this is not true:

In [1]: import numpy as np

In [2]: x = np.arange(10)

In [3]: x[2 : 5 : -1]  # Analogous slice in `ndarray`: `array![4, 3, 2]`
Out[3]: array([], dtype=int32)

In [4]: x[5 : 2 : -1]  # Analogous slice in `ndarray`: `array![]`
Out[4]: array([5, 4, 3])

So `step < -1` should be replaced by `step < 0` in the documentation.

There are some further differences in slicing behavior with negative step,
having to do with the default values for `start` and `end`:

In [5]: x[: 7 : -1]  # Analogous slice in `ndarray`: `array![6, 5, 4, 3, 2, 1, 0]`
Out[5]: array([9, 8])

In [6]: x[7 : : -1]  # Analogous slice in `ndarray`: `array![9, 8, 7]`
Out[6]: array([7, 6, 5, 4, 3, 2, 1, 0])
Fix comparison with NumPy of slicing with negative step
bluss and others added 30 commits August 9, 2024 21:53
Implement a checkerboard pattern in input data just to test with some
another kind of input.
…1418)

* Fixes infinite recursion and off-by-one error

* Avoids overflow using saturating arithmetic

* Removes unused import

* Fixes bug for isize::MAX for triu

* Fix formatting

* Uses broadcast indices to remove D::Smaller: Copy trait bound
Refactor and simplify BLAS gemm call further
Last mut did not ensure the array was unique before calling uget_mut.
The required properties were protected by a debug assertion, but a clear
bug in release mode.

Adding tests that would have caught this.
Necessary for allowing format-on-save to use nightly for this repo only.
Just removed double and
* implement forward finite differneces on arrays

* implement tests for the  method

* remove some heap allocations
Fixes no_std + approx combination

These two features can coexist; fixing them included:
- Slightly altering tests to avoid `std` fns
- Adding `feature = "std"` on some "approx" tests
- Adding a line to the test script to catch this in the future
This is carefully constructed to allow Miri to test most of `ndarray` without slowing down CI/CD very badly; as a result, it skips a number of slow tests. See #1446 for a list.

It also excludes `blas` because Miri cannot call `cblas_gemm`, and it excludes `rayon` because it considers the still-running thread pool to be a leak. `rayon` can be re-added when rust-lang/miri#1371 is resolved.
* Makes use of the nightly `doc_cfg` feature to automatically mark feature-gated items as requiring that feature.

This is possible thanks to the fact that docs.rs runs on nightly. While this may not be stabilized (and therefore may eventually reverse), I think it's extremely useful to users and only requires small additional configurations that would be easy to remove in the future.

* Adds appropriate arguments to CI/CD and removes serde-1, test, and docs features

* Fixes clippy complaining about `return None` instead of question marks
* Tries to stabilize MSRV CI/CD.

With the new MSRV-aware resolver available, I am trying to stabilize
our CI/CD, which frequently breaks due to dependency updates.
This takes three steps to do so:

1. Add Cargo.lock, so that builds on the CI/CD are deterministic
2. Add a regular (weekly) job that checks against the latest dependencies
across both stable and MSRV versions of rustc
3. Simplify the current CI/CD and revert to a single MSRV,
rather than using a BLAS-specific MSRV.
Uses the implementations from `Array1` and `Array2`, tests found in `crates/blas-tests/tests/dyn.rs`.
See #1440 for more information, especially [this comment](#1440 (comment)).
Also runs latest-deps CI when someone changes the latest-deps.yaml configuration
Adds a Numpy-equivalent `meshgrid` function
Also adds an accelerate option to the blas-tests crate
* add test case for empty array

* return early when the array has zero lenth dims

---------

Co-authored-by: Adam Kern <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⤵️ pull merge-conflict Resolve conflicts manually
Projects
None yet
Development

Successfully merging this pull request may close these issues.