@@ -183,7 +183,7 @@ function finite_difference_jacobian(
183183 if fdtype == Val{:forward }
184184 @inbounds for color_i ∈ 1 : maximum (colorvec)
185185 if sparsity isa Nothing
186- x_save = vecx[ color_i]
186+ x_save = ArrayInterface . allowed_getindex ( vecx, color_i)
187187 epsilon = compute_epsilon (Val{:forward }, x_save, relstep, absstep, dir)
188188 _vecx1 = Base. setindex (vecx,x_save+ epsilon,color_i)
189189 _x1 = reshape (_vecx1,size (x))
@@ -204,8 +204,8 @@ function finite_difference_jacobian(
204204 elseif fdtype == Val{:central }
205205 @inbounds for color_i ∈ 1 : maximum (colorvec)
206206 if sparsity isa Nothing
207- x1_save = vecx1[ color_i]
208- x_save = vecx[ color_i]
207+ x1_save = ArrayInterface . allowed_getindex ( vecx1, color_i)
208+ x_save = ArrayInterface . allowed_getindex ( vecx, color_i)
209209 epsilon = compute_epsilon (Val{:forward }, x1_save, relstep, absstep, dir)
210210 _vecx1 = Base. setindex (vecx1,x1_save+ epsilon,color_i)
211211 _vecx = Base. setindex (vecx,x_save- epsilon,color_i)
@@ -233,7 +233,7 @@ function finite_difference_jacobian(
233233 epsilon = eps (eltype (x))
234234 @inbounds for color_i ∈ 1 : maximum (colorvec)
235235 if sparsity isa Nothing
236- x_save = vecx[ color_i]
236+ x_save = ArrayInterface . allowed_getindex ( vecx, color_i)
237237 _vecx = Base. setindex (complex .(vecx),x_save+ im* epsilon,color_i)
238238 _x = reshape (_vecx,size (x))
239239 vecfx = _vec (f (_x))
0 commit comments