|
24 | 24 | for (x, j) in zip(VA.u, 1:length(VA))] |
25 | 25 | (VectorOfArray(Δ′), nothing) |
26 | 26 | end |
27 | | - VA[i], AbstractVectorOfArray_getindex_adjoint |
| 27 | + VA[:, i], AbstractVectorOfArray_getindex_adjoint |
28 | 28 | end |
29 | 29 |
|
30 | 30 | @adjoint function getindex(VA::AbstractVectorOfArray, |
|
34 | 34 | for (x, j) in zip(VA.u, 1:length(VA))] |
35 | 35 | (VectorOfArray(Δ′), nothing) |
36 | 36 | end |
37 | | - VA[i], AbstractVectorOfArray_getindex_adjoint |
| 37 | + VA[:, i], AbstractVectorOfArray_getindex_adjoint |
38 | 38 | end |
39 | 39 |
|
40 | 40 | @adjoint function getindex(VA::AbstractVectorOfArray, i::AbstractArray{Int}) |
|
44 | 44 | for (x, j) in zip(VA.u, 1:length(VA))] |
45 | 45 | (VectorOfArray(Δ′), nothing) |
46 | 46 | end |
47 | | - VA[i], AbstractVectorOfArray_getindex_adjoint |
| 47 | + VA[:, i], AbstractVectorOfArray_getindex_adjoint |
48 | 48 | end |
49 | 49 |
|
50 | 50 | @adjoint function getindex(VA::AbstractVectorOfArray, |
51 | | - i::Union{Int, AbstractArray{Int}}) |
| 51 | + i::Int) |
52 | 52 | function AbstractVectorOfArray_getindex_adjoint(Δ) |
53 | | - Δ′ = [(i[j] ? Δ[j] : FillArrays.Fill(zero(eltype(x)), size(x))) |
| 53 | + Δ′ = [(i == j ? Δ[j] : FillArrays.Fill(zero(eltype(x)), size(x))) |
54 | 54 | for (x, j) in zip(VA.u, 1:length(VA))] |
55 | 55 | (VectorOfArray(Δ′), nothing) |
56 | 56 | end |
57 | | - VA[i], AbstractVectorOfArray_getindex_adjoint |
| 57 | + VA[:, i], AbstractVectorOfArray_getindex_adjoint |
58 | 58 | end |
59 | 59 |
|
60 | 60 | @adjoint function getindex(VA::AbstractVectorOfArray, i::Colon) |
61 | 61 | function AbstractVectorOfArray_getindex_adjoint(Δ) |
62 | 62 | (VectorOfArray(Δ), nothing) |
63 | 63 | end |
64 | | - VA[i], AbstractVectorOfArray_getindex_adjoint |
| 64 | + VA.u[i], AbstractVectorOfArray_getindex_adjoint |
65 | 65 | end |
66 | 66 |
|
67 | 67 | @adjoint function getindex(VA::AbstractVectorOfArray, i::Int, |
|
0 commit comments