Skip to content

Commit 3da6b80

Browse files
Merge branch 'master' into arraypart_zero
2 parents e11c4cd + b1a3980 commit 3da6b80

32 files changed

+400
-130
lines changed

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
22
version: 2
3+
enable-beta-ecosystems: true # Julia ecosystem
34
updates:
45
- package-ecosystem: "github-actions"
56
directory: "/" # Location of package manifests
@@ -8,3 +9,14 @@ updates:
89
ignore:
910
- dependency-name: "crate-ci/typos"
1011
update-types: ["version-update:semver-patch", "version-update:semver-minor"]
12+
- package-ecosystem: "julia"
13+
directories:
14+
- "/"
15+
- "/docs"
16+
- "/test"
17+
schedule:
18+
interval: "daily"
19+
groups:
20+
all-julia-packages:
21+
patterns:
22+
- "*"

.github/workflows/CompatHelper.yml

Lines changed: 0 additions & 26 deletions
This file was deleted.

.github/workflows/Downgrade.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,22 @@ jobs:
1515
runs-on: ubuntu-latest
1616
strategy:
1717
matrix:
18-
version: ['1']
1918
group:
2019
- Core
21-
- Downstream
20+
downgrade_mode: ['alldeps']
21+
julia-version: ['1.10']
2222
steps:
23-
- uses: actions/checkout@v4
23+
- uses: actions/checkout@v6
2424
- uses: julia-actions/setup-julia@v2
2525
with:
26-
version: ${{ matrix.version }}
27-
- uses: julia-actions/julia-downgrade-compat@v1
26+
version: ${{ matrix.julia-version }}
27+
- uses: julia-actions/julia-downgrade-compat@v2
2828
# if: ${{ matrix.version == '1.6' }}
2929
with:
3030
skip: Pkg,TOML
3131
- uses: julia-actions/julia-buildpkg@v1
3232
- uses: julia-actions/julia-runtest@v1
33+
with:
34+
ALLOW_RERESOLVE: false
35+
env:
36+
GROUP: ${{ matrix.group }}

.github/workflows/Downstream.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ jobs:
3333
- {user: SciML, repo: SciMLSensitivity.jl, group: Core6}
3434
- {user: SciML, repo: LabelledArrays.jl, group: RecursiveArrayTools}
3535
steps:
36-
- uses: actions/checkout@v4
36+
- uses: actions/checkout@v6
3737
- uses: julia-actions/setup-julia@v2
3838
with:
3939
version: ${{ matrix.julia-version }}
4040
arch: x64
4141
- uses: julia-actions/julia-buildpkg@latest
4242
- name: Clone Downstream
43-
uses: actions/checkout@v4
43+
uses: actions/checkout@v6
4444
with:
4545
repository: ${{ matrix.package.user }}/${{ matrix.package.repo }}
4646
path: downstream

.github/workflows/Invalidations.yml

Lines changed: 0 additions & 15 deletions
This file was deleted.

.github/workflows/SpellCheck.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- name: Checkout Actions Repository
11-
uses: actions/checkout@v4
11+
uses: actions/checkout@v6
1212
- name: Check spelling
1313
uses: crate-ci/typos@v1.18.0

.typos.toml

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,73 @@
1-
[default.extend-words]
1+
[default.extend-words]
2+
# Julia-specific functions
3+
indexin = "indexin"
4+
findfirst = "findfirst"
5+
findlast = "findlast"
6+
eachindex = "eachindex"
7+
setp = "setp"
8+
getp = "getp"
9+
setu = "setu"
10+
getu = "getu"
11+
12+
# Mathematical/scientific terms
13+
jacobian = "jacobian"
14+
hessian = "hessian"
15+
eigenvalue = "eigenvalue"
16+
eigenvector = "eigenvector"
17+
discretization = "discretization"
18+
linearization = "linearization"
19+
parameterized = "parameterized"
20+
discretized = "discretized"
21+
vectorized = "vectorized"
22+
23+
# Common variable patterns in Julia/SciML
24+
ists = "ists"
25+
ispcs = "ispcs"
26+
osys = "osys"
27+
rsys = "rsys"
28+
usys = "usys"
29+
fsys = "fsys"
30+
eqs = "eqs"
31+
rhs = "rhs"
32+
lhs = "lhs"
33+
ode = "ode"
34+
pde = "pde"
35+
sde = "sde"
36+
dde = "dde"
37+
bvp = "bvp"
38+
ivp = "ivp"
39+
40+
# Common abbreviations
41+
tol = "tol"
42+
rtol = "rtol"
43+
atol = "atol"
44+
idx = "idx"
45+
jdx = "jdx"
46+
prev = "prev"
47+
curr = "curr"
48+
init = "init"
49+
tmp = "tmp"
50+
vec = "vec"
51+
arr = "arr"
52+
dt = "dt"
53+
du = "du"
54+
dx = "dx"
55+
dy = "dy"
56+
dz = "dz"
57+
58+
# Algorithm/type suffixes
59+
alg = "alg"
60+
prob = "prob"
61+
sol = "sol"
62+
cb = "cb"
63+
opts = "opts"
64+
args = "args"
65+
kwargs = "kwargs"
66+
67+
# Scientific abbreviations
68+
ND = "ND"
69+
nd = "nd"
70+
MTK = "MTK"
71+
ODE = "ODE"
72+
PDE = "PDE"
73+
SDE = "SDE"

Project.toml

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,82 @@
11
name = "RecursiveArrayTools"
22
uuid = "731186ca-8d62-57ce-b412-fbd966d074cd"
33
authors = ["Chris Rackauckas <accounts@chrisrackauckas.com>"]
4-
version = "3.33.0"
4+
version = "3.39.0"
55

66
[deps]
77
Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
88
ArrayInterface = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
99
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
1010
GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527"
11-
IteratorInterfaceExtensions = "82899510-4779-5014-852e-03e436cf321d"
1211
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1312
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
1413
StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
1514
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
1615
SymbolicIndexingInterface = "2efcf032-c050-4f8e-a9bb-153293bab1f5"
17-
Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
1816

1917
[weakdeps]
2018
FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898"
2119
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
20+
KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
2221
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
2322
MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
2423
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
2524
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
2625
StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
26+
Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
2727
Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c"
2828
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
2929

3030
[extensions]
3131
RecursiveArrayToolsFastBroadcastExt = "FastBroadcast"
3232
RecursiveArrayToolsForwardDiffExt = "ForwardDiff"
33+
RecursiveArrayToolsKernelAbstractionsExt = "KernelAbstractions"
3334
RecursiveArrayToolsMeasurementsExt = "Measurements"
3435
RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements"
3536
RecursiveArrayToolsReverseDiffExt = ["ReverseDiff", "Zygote"]
3637
RecursiveArrayToolsSparseArraysExt = ["SparseArrays"]
3738
RecursiveArrayToolsStructArraysExt = "StructArrays"
39+
RecursiveArrayToolsTablesExt = ["Tables"]
3840
RecursiveArrayToolsTrackerExt = "Tracker"
3941
RecursiveArrayToolsZygoteExt = "Zygote"
4042

4143
[compat]
42-
Adapt = "3.4, 4"
44+
Adapt = "4"
4345
Aqua = "0.8"
44-
ArrayInterface = "7.6"
45-
DocStringExtensions = "0.9"
46-
FastBroadcast = "0.2.8, 0.3"
47-
ForwardDiff = "0.10.19, 1"
48-
GPUArraysCore = "0.1.1, 0.2"
49-
IteratorInterfaceExtensions = "1"
46+
ArrayInterface = "7.16"
47+
DocStringExtensions = "0.9.3"
48+
FastBroadcast = "0.3.5"
49+
ForwardDiff = "0.10.38, 1"
50+
GPUArraysCore = "0.2"
51+
KernelAbstractions = "0.9.36"
5052
LinearAlgebra = "1.10"
51-
Measurements = "2.3"
52-
MonteCarloMeasurements = "1.1"
53+
Measurements = "2.11"
54+
MonteCarloMeasurements = "1.2"
5355
NLsolve = "4.5"
5456
Pkg = "1"
5557
Random = "1"
56-
RecipesBase = "1.1"
58+
RecipesBase = "1.3.4"
5759
ReverseDiff = "1.15"
5860
SafeTestsets = "0.1"
59-
SciMLBase = "2"
61+
SciMLBase = "2.103"
6062
SparseArrays = "1.10"
6163
StaticArrays = "1.6"
62-
StaticArraysCore = "1.4"
64+
StaticArraysCore = "1.4.2"
6365
Statistics = "1.10, 1.11"
64-
StructArrays = "0.6.11, 0.7"
65-
SymbolicIndexingInterface = "0.3.25"
66-
Tables = "1.11"
66+
StructArrays = "0.7"
67+
SymbolicIndexingInterface = "0.3.42"
68+
Tables = "1.12"
6769
Test = "1"
68-
Tracker = "0.2.15"
70+
Tracker = "0.2.34"
6971
Unitful = "1"
70-
Zygote = "0.6.67, 0.7"
72+
Zygote = "0.7.10"
7173
julia = "1.10"
7274

7375
[extras]
7476
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
7577
FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898"
7678
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
79+
KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
7780
Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7"
7881
MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca"
7982
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
@@ -90,4 +93,4 @@ Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
9093
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
9194

9295
[targets]
93-
test = ["Aqua", "FastBroadcast", "ForwardDiff", "Measurements", "NLsolve", "Pkg", "Random", "SafeTestsets", "SciMLBase", "SparseArrays", "StaticArrays", "StructArrays", "Test", "Unitful", "Zygote"]
96+
test = ["Aqua", "FastBroadcast", "ForwardDiff", "KernelAbstractions", "Measurements", "NLsolve", "Pkg", "Random", "SafeTestsets", "SciMLBase", "SparseArrays", "StaticArrays", "StructArrays", "Tables", "Test", "Unitful", "Zygote"]

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ the documentation, which contains the unreleased features.
2222

2323
## Example
2424

25+
### VectorOfArray
26+
2527
```julia
2628
using RecursiveArrayTools
2729
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
@@ -30,11 +32,30 @@ vA = VectorOfArray(a)
3032
vB = VectorOfArray(b)
3133

3234
vA .* vB # Now all standard array stuff works!
35+
```
3336

37+
### ArrayPartition
38+
39+
```julia
3440
a = (rand(5), rand(5))
3541
b = (rand(5), rand(5))
3642
pA = ArrayPartition(a)
3743
pB = ArrayPartition(b)
3844

3945
pA .* pB # Now all standard array stuff works!
46+
47+
# or do:
48+
x0 = rand(3, 3)
49+
v0 = rand(3, 3)
50+
a0 = rand(3, 3)
51+
u0 = ArrayPartition(x0, v0, a0)
52+
u0.x[1] == x0 # true
53+
54+
u0 .+= 1
55+
u0.x[2] == v0 # still true
56+
57+
# do some calculations creating a new partitioned array
58+
unew = u0 * 10
59+
# easily access the individual components without having to rely on complicated indexing
60+
xnew, vnew, anew = unew.x
4061
```
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# The AbstractVectorOfArray and AbstractDiffEqArray Interfaces
22

3-
```@doc
3+
```@docs
44
AbstractVectorOfArray
55
AbstractDiffEqArray
66
```

0 commit comments

Comments
 (0)