Skip to content

Commit e8b6aea

Browse files
committed
add MooncakeExt
1 parent 50a3955 commit e8b6aea

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

lib/NonlinearSolveBase/Project.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
3636
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
3737
LineSearch = "87fe0de2-c867-4266-b59a-2f0a94fc965b"
3838
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
39+
Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6"
3940
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
4041
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
4142
SparseMatrixColorings = "0a514795-09f3-496d-8182-132a7b665d35"
@@ -48,6 +49,7 @@ NonlinearSolveBaseEnzymeExt = ["ChainRulesCore", "Enzyme"]
4849
NonlinearSolveBaseForwardDiffExt = "ForwardDiff"
4950
NonlinearSolveBaseLineSearchExt = "LineSearch"
5051
NonlinearSolveBaseLinearSolveExt = "LinearSolve"
52+
NonlinearSolveBaseMooncakeExt = "Mooncake"
5153
NonlinearSolveBaseReverseDiffExt = "ReverseDiff"
5254
NonlinearSolveBaseSparseArraysExt = "SparseArrays"
5355
NonlinearSolveBaseSparseMatrixColoringsExt = "SparseMatrixColorings"
@@ -77,6 +79,7 @@ LinearAlgebra = "1.10"
7779
LinearSolve = "3.15"
7880
Markdown = "1.10"
7981
MaybeInplace = "0.1.4"
82+
Mooncake = "0.4"
8083
Preferences = "1.4"
8184
Printf = "1.10"
8285
RecursiveArrayTools = "3"

lib/NonlinearSolveBase/src/solve.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -794,11 +794,11 @@ end
794794
function _solve_adjoint(prob, sensealg, u0, p, originator, args...; merge_callbacks = true,
795795
kwargs...)
796796
alg = extract_alg(args, kwargs, prob.kwargs)
797-
if isnothing(alg) || !(alg isa AbstractNonlinearAlgorithm) # Default algorithm handling
798-
_prob = get_concrete_problem(prob, true; u0 = u0,
797+
if isnothing(alg) || !(alg isa AbstractDEAlgorithm) # Default algorithm handling
798+
_prob = get_concrete_problem(prob, !(prob isa DiscreteProblem); u0 = u0,
799799
p = p, kwargs...)
800800
else
801-
_prob = get_concrete_problem(prob, true; u0 = u0, p = p, kwargs...)
801+
_prob = get_concrete_problem(prob, isadaptive(alg); u0 = u0, p = p, kwargs...)
802802
end
803803

804804
if has_kwargs(_prob)

0 commit comments

Comments
 (0)