[de-feature request] tuples for const-defined dimensions
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start with the updated discussion at the linked comment and inspect the existing Ix1, Ix2, and Pattern shape APIs in ndarray. Clarify the intended handling of zero- and one-sized dimensions, then establish whether compile-time dimensions should consistently use tuples and verify the resulting API behavior with the project’s tests.
Written by the indexing model from the issue text.
Description
updated to https://github.com/rust-ndarray/ndarray/issues/622#issuecomment-486792077
(so tuples replacement for arrays, and also still using arrays for 0-sized and 1-sized dimensions)
Hello, I'm new to this ecosystem here- and thanks a lot for your work on it!
As I was using the ndarray crate - it may be just me but - I thought that "what if we always use a tuple to indicate a shape's dimension?".
I mean, this is already how it works most of the time, except for the Ix1 and the dynamic case.
That is, the only case, for compile-time defined number of dimensions, that doesn't fall into what I said above was the Ix1 case, where a single usize is used as a Pattern to indicate a 1-dimensional array.
I propose a de-featuring (feature removal) so that Ix1 case would also require a 1-sized tuple, similarly to the Ix2 (Ix3, etc) cases.
This would simply increase verbosity whenever a Ix1 were to be used, so.. well.. maybe this [proposal] would be taking a step into the wrong direction.
(I'll be PRing for a reference since this would require simple changes after all).
- Dominant language
- Rust
- Stars
- 4.3k
- Forks
- 391
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from rust-ndarray/ndarray
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
rust-ndarray/ndarray#1612 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
rust-ndarray/ndarray#1617 · 1 comment ·
-
bug good first issue
Difficulty 3/5 1-2 days Newbie friendliness 68/100
rust-ndarray/ndarray#1615 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
rust-ndarray/ndarray#1610 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 72/100
rust-ndarray/ndarray#1609 ·
All issues in rust-ndarray/ndarray
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100