Skip to content

Commit af08384

Browse files
simplify inference
1 parent 7c7258f commit af08384

File tree

2 files changed

+6
-10
lines changed

2 files changed

+6
-10
lines changed

lib/NonlinearSolveBase/ext/NonlinearSolveBaseLinearSolveExt.jl

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,11 @@ function (cache::LinearSolveJLCache)(;
1717
cache.stats.nsolve += 1
1818

1919
update_A!(cache, A, reuse_A_if_factorization)
20-
b !== nothing && setproperty!(cache.lincache, :b, b)
20+
b !== nothing && (cache.lincache.b = b)
2121
linu !== nothing && NonlinearSolveBase.set_lincache_u!(cache, linu)
2222

2323
linres = solve!(cache.lincache)
24-
if linres.retcode === ReturnCode.Failure
25-
return LinearSolveResult(; linres.u, success = false)
26-
else
27-
return LinearSolveResult(; linres.u)
28-
end
24+
LinearSolveResult(linu, linres.retcode == ReturnCode.Failure)
2925
end
3026

3127
function NonlinearSolveBase.needs_square_A(linsolve::SciMLLinearSolveAlgorithm, ::Any)

lib/NonlinearSolveBase/src/linear_solve.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
@kwdef @concrete struct LinearSolveResult
1+
@concrete struct LinearSolveResult
22
u
3-
success::Bool = true
3+
success::Bool
44
end
55

66
@concrete mutable struct LinearSolveJLCache <: AbstractLinearSolverCache
@@ -93,7 +93,7 @@ function (cache::NativeJLLinearSolveCache)(;
9393
else
9494
res = cache.A \ cache.b
9595
end
96-
return LinearSolveResult(; u = res)
96+
return LinearSolveResult(res, true)
9797
end
9898

9999
fix_incompatible_linsolve_arguments(A, b, u) = u
@@ -106,7 +106,7 @@ function fix_incompatible_linsolve_arguments(A, b, u::SArray)
106106
return MArray(u)
107107
end
108108

109-
set_lincache_u!(cache, u) = setproperty!(cache.lincache, :u, u)
109+
set_lincache_u!(cache, u) = cache.lincache.u = u
110110
function set_lincache_u!(cache, u::SArray)
111111
cache.lincache.u isa MArray && return set_lincache_u!(cache, MArray(u))
112112
cache.lincache.u = u

0 commit comments

Comments
 (0)