|
53 | 53 |
|
54 | 54 | function seed!(duals::AbstractArray{Dual{T,V,N}}, x,
|
55 | 55 | seed::Partials{N,V} = zero(Partials{N,V})) where {T,V,N}
|
56 |
| - duals .= Dual{T,V,N}.(x, Base.RefValue(seed)) |
| 56 | + for i in eachindex(duals) |
| 57 | + duals[i] = Dual{T,V,N}(x[i], seed) |
| 58 | + end |
57 | 59 | return duals
|
58 | 60 | end
|
59 | 61 |
|
60 | 62 | function seed!(duals::AbstractArray{Dual{T,V,N}}, x,
|
61 | 63 | seeds::NTuple{N,Partials{N,V}}) where {T,V,N}
|
62 |
| - duals[1:N] .= Dual{T,V,N}.(x[1:N], seeds[1:N]) |
| 64 | + for i in 1:N |
| 65 | + duals[i] = Dual{T,V,N}(x[i], seeds[i]) |
| 66 | + end |
63 | 67 | return duals
|
64 | 68 | end
|
65 | 69 |
|
66 | 70 | function seed!(duals::AbstractArray{Dual{T,V,N}}, x, index,
|
67 | 71 | seed::Partials{N,V} = zero(Partials{N,V})) where {T,V,N}
|
68 | 72 | offset = index - 1
|
69 |
| - chunk = (1:N) .+ offset |
70 |
| - duals[chunk] .= Dual{T,V,N}.(x[chunk], Base.RefValue(seed)) |
| 73 | + for i in 1:N |
| 74 | + j = i + offset |
| 75 | + duals[j] = Dual{T,V,N}(x[j], seed) |
| 76 | + end |
71 | 77 | return duals
|
72 | 78 | end
|
73 | 79 |
|
74 | 80 | function seed!(duals::AbstractArray{Dual{T,V,N}}, x, index,
|
75 | 81 | seeds::NTuple{N,Partials{N,V}}, chunksize = N) where {T,V,N}
|
76 | 82 | offset = index - 1
|
77 |
| - chunk = (1:chunksize) .+ offset |
78 |
| - duals[chunk] .= Dual{T,V,N}.(x[chunk], seeds[1:chunksize]) |
| 83 | + for i in 1:chunksize |
| 84 | + j = i + offset |
| 85 | + duals[j] = Dual{T,V,N}(x[j], seeds[i]) |
| 86 | + end |
79 | 87 | return duals
|
80 | 88 | end
|
0 commit comments