@@ -74,8 +74,8 @@ function JacobianOperator(prob::AbstractNonlinearProblem, fu, u; jvp_autodiff =
7474 @closure (v, u, p) -> auto_vecjac (uf, u, v)
7575 elseif vjp_autodiff isa AutoFiniteDiff
7676 if iip
77- cache1 = similar (fu)
78- cache2 = similar (fu)
77+ cache1 = __similar (fu)
78+ cache2 = __similar (fu)
7979 @closure (Jv, v, u, p) -> num_vecjac! (Jv, uf, u, v, cache1, cache2)
8080 else
8181 @closure (v, u, p) -> num_vecjac (uf, __mutable (u), v)
@@ -106,17 +106,17 @@ function JacobianOperator(prob::AbstractNonlinearProblem, fu, u; jvp_autodiff =
106106 if iip
107107 # FIXME : Technically we should propagate the tag but ignoring that for now
108108 cache1 = Dual{typeof (ForwardDiff. Tag (uf, eltype (u))), eltype (u),
109- 1 }. (similar (u), ForwardDiff. Partials .(tuple .(u)))
109+ 1 }. (__similar (u), ForwardDiff. Partials .(tuple .(u)))
110110 cache2 = Dual{typeof (ForwardDiff. Tag (uf, eltype (fu))), eltype (fu),
111- 1 }. (similar (fu), ForwardDiff. Partials .(tuple .(fu)))
111+ 1 }. (__similar (fu), ForwardDiff. Partials .(tuple .(fu)))
112112 @closure (Jv, v, u, p) -> auto_jacvec! (Jv, uf, u, v, cache1, cache2)
113113 else
114114 @closure (v, u, p) -> auto_jacvec (uf, u, v)
115115 end
116116 elseif jvp_autodiff isa AutoFiniteDiff
117117 if iip
118- cache1 = similar (fu)
119- cache2 = similar (u)
118+ cache1 = __similar (fu)
119+ cache2 = __similar (u)
120120 @closure (Jv, v, u, p) -> num_jacvec! (Jv, uf, u, v, cache1, cache2)
121121 else
122122 @closure (v, u, p) -> num_jacvec (uf, u, v)
@@ -162,15 +162,15 @@ end
162162function (op:: JacobianOperator{vjp, iip} )(v, u, p) where {vjp, iip}
163163 if vjp
164164 if iip
165- res = similar (op. output_cache)
165+ res = __similar (op. output_cache)
166166 op. vjp_op (res, v, u, p)
167167 return res
168168 else
169169 return op. vjp_op (v, u, p)
170170 end
171171 else
172172 if iip
173- res = similar (op. output_cache)
173+ res = __similar (op. output_cache)
174174 op. jvp_op (res, v, u, p)
175175 return res
176176 else
0 commit comments