Skip to content

Commit 0ec626f

Browse files
Rewrite ragged sublibrary as v3 VectorOfArray code with renamed types
Replace the partial reimplementation with the COMPLETE v3 vector_of_array.jl code, mechanically transformed: - VectorOfArray → RaggedVectorOfArray - DiffEqArray → RaggedDiffEqArray - AbstractVectorOfArray → AbstractRaggedVectorOfArray - AbstractDiffEqArray → AbstractRaggedDiffEqArray This preserves ALL v3 behavior exactly: - A[i] returns the i-th inner array (not scalar) - A[:, i] returns inner array without zero-padding - RaggedEnd for per-column `end` resolution - Iteration over inner arrays - Full broadcasting, copy, zero, similar, fill!, push!, etc. Tests are the complete v3 test suite (basic_indexing + interface_tests) transformed with same type renames, plus new tests for interp/dense, conversion, SymbolicIndexingInterface, and type hierarchy. 430 tests pass. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 2ff20c2 commit 0ec626f

3 files changed

Lines changed: 2136 additions & 975 deletions

File tree

lib/RecursiveArrayToolsRaggedArrays/Project.toml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,26 @@ uuid = "c384ba91-639a-44ca-823a-e1d3691ab84a"
33
version = "1.0.0"
44

55
[deps]
6+
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
7+
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
8+
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
69
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
10+
StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
711
SymbolicIndexingInterface = "2efcf032-c050-4f8e-a9bb-153293bab1f5"
812

913
[compat]
14+
Adapt = "4"
15+
ArrayInterface = "7"
16+
LinearAlgebra = "1.10"
1017
RecursiveArrayTools = "4"
18+
StaticArraysCore = "1.4"
1119
SymbolicIndexingInterface = "0.3.35"
1220
julia = "1.10"
1321

1422
[extras]
23+
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
1524
SymbolicIndexingInterface = "2efcf032-c050-4f8e-a9bb-153293bab1f5"
1625
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
1726

1827
[targets]
19-
test = ["SymbolicIndexingInterface", "Test"]
28+
test = ["SparseArrays", "SymbolicIndexingInterface", "Test"]

0 commit comments

Comments
 (0)