ArrayInterface.jl
ArrayInterface.jl copied to clipboard
Designs for new Base array interface primitives, used widely through scientific machine learning (SciML) and other organizations
Successor to #260. Implements basic tools for accessing multidimensional keys and fancy indexing. The goal is to have a common backend for some of the clearly overlapping traits/method that go...
I'm not sure if/when we'll get Base support for `StaticInt` but it would be nice if everybody at least had the tools to support the most of the stride layout...
We have the tooling to in place to solve #332. I think JuliaSIMD uses `stride_rank` too. So I figured it would make sense to just make this a public function...
@rafaqz and @mcabbott, what do you think about having this method defined here to to interfaces together?
I've come across comments that it takes many months or years before a new array type is dependable because it takes time to catch all the corner cases and bugs....
This may already be contained in ArrayInterface somewhere, but I haven't yet found it. It would be great if we could have a trait that indicates the storage order of...
This is based predominantly on the work by @timholy in [this PR](https://github.com/JuliaLang/julia/pull/42029). The plan is to work this into ArrayInterface.jl in another PR, replacing some of #291 and taking advantage...
This PR creates a new type `SubCartesianIndices` for `unsafe_get_collection(::CartesianIndices, ind)` to avoid allocating a new array. And a `SubCartesianIndices` can also be an index like `CartesianIndices`. This PR creates a...
The current implementation of `setindex` is problematic for the following reasons: * It is not compatible with `OffsetArrays`. * It is not compatible with non-numeric types such as `Array{string}`. *...
https://github.com/JuliaArrays/ArrayInterface.jl/pull/266 showed that everything is now fine locally, but CI does not run on the PR branches correctly. Talked with @giordano on this, as I wasn't able to figure it...