Skip to content

Commit 86bb307

Browse files
Merge pull request #435 from SciML/ap/explicit_imports
Test for Explicit Imports
2 parents 411f7d3 + 42e6e19 commit 86bb307

18 files changed

+129
-55
lines changed

Project.toml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "NonlinearSolve"
22
uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec"
33
authors = ["SciML"]
4-
version = "3.12.0"
4+
version = "3.12.1"
55

66
[deps]
77
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
@@ -32,6 +32,7 @@ TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
3232

3333
[weakdeps]
3434
BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
35+
Enlsip = "d5306a6b-d590-428d-a53a-eb3bb2d36f2d"
3536
FastLevenbergMarquardt = "7a0df574-e128-4d35-8cbd-3d84502bf7ce"
3637
FixedPointAcceleration = "817d07cb-a79a-5c30-9a31-890123675176"
3738
LeastSquaresOptim = "0fc2ff8b-aaa3-5acd-a817-1944a5e08891"
@@ -45,6 +46,7 @@ Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
4546

4647
[extensions]
4748
NonlinearSolveBandedMatricesExt = "BandedMatrices"
49+
NonlinearSolveEnlsipExt = "Enlsip"
4850
NonlinearSolveFastLevenbergMarquardtExt = "FastLevenbergMarquardt"
4951
NonlinearSolveFixedPointAccelerationExt = "FixedPointAcceleration"
5052
NonlinearSolveLeastSquaresOptimExt = "LeastSquaresOptim"
@@ -65,7 +67,9 @@ BenchmarkTools = "1.4"
6567
CUDA = "5.2"
6668
ConcreteStructs = "0.2.3"
6769
DiffEqBase = "6.149.0"
70+
Enlsip = "0.9"
6871
Enzyme = "0.12"
72+
ExplicitImports = "1.4.4"
6973
FastBroadcast = "0.2.8"
7074
FastClosures = "0.3.2"
7175
FastLevenbergMarquardt = "0.1"
@@ -115,7 +119,9 @@ Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
115119
BandedMatrices = "aae01518-5342-5314-be14-df237901396f"
116120
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
117121
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
122+
Enlsip = "d5306a6b-d590-428d-a53a-eb3bb2d36f2d"
118123
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
124+
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
119125
FastLevenbergMarquardt = "7a0df574-e128-4d35-8cbd-3d84502bf7ce"
120126
FixedPointAcceleration = "817d07cb-a79a-5c30-9a31-890123675176"
121127
LeastSquaresOptim = "0fc2ff8b-aaa3-5acd-a817-1944a5e08891"
@@ -139,4 +145,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
139145
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
140146

141147
[targets]
142-
test = ["Aqua", "BandedMatrices", "BenchmarkTools", "CUDA", "Enzyme", "FastLevenbergMarquardt", "FixedPointAcceleration", "LeastSquaresOptim", "MINPACK", "ModelingToolkit", "NLSolvers", "NLsolve", "NaNMath", "NonlinearProblemLibrary", "OrdinaryDiffEq", "Pkg", "Random", "ReTestItems", "SIAMFANLEquations", "SpeedMapping", "StableRNGs", "StaticArrays", "Sundials", "Symbolics", "Test", "Zygote"]
148+
test = ["Aqua", "BandedMatrices", "BenchmarkTools", "CUDA", "Enlsip", "Enzyme", "ExplicitImports", "FastLevenbergMarquardt", "FixedPointAcceleration", "LeastSquaresOptim", "MINPACK", "ModelingToolkit", "NLSolvers", "NLsolve", "NaNMath", "NonlinearProblemLibrary", "OrdinaryDiffEq", "Pkg", "Random", "ReTestItems", "SIAMFANLEquations", "SpeedMapping", "StableRNGs", "StaticArrays", "Sundials", "Symbolics", "Test", "Zygote"]

ext/NonlinearSolveBandedMatricesExt.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
module NonlinearSolveBandedMatricesExt
22

3-
using BandedMatrices, LinearAlgebra, NonlinearSolve, SparseArrays
3+
using BandedMatrices: BandedMatrix
4+
using LinearAlgebra: Diagonal
5+
using NonlinearSolve: NonlinearSolve
6+
using SparseArrays: sparse
47

58
# This is used if we vcat a Banded Jacobian with a Diagonal Matrix in Levenberg
69
@inline NonlinearSolve._vcat(B::BandedMatrix, D::Diagonal) = vcat(sparse(B), D)

ext/NonlinearSolveFastLevenbergMarquardtExt.jl

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
module NonlinearSolveFastLevenbergMarquardtExt
22

3-
using ArrayInterface, NonlinearSolve, SciMLBase
4-
import ConcreteStructs: @concrete
5-
import FastClosures: @closure
6-
import FastLevenbergMarquardt as FastLM
7-
import StaticArraysCore: SArray
3+
using ArrayInterface: ArrayInterface
4+
using FastClosures: @closure
5+
using FastLevenbergMarquardt: FastLevenbergMarquardt
6+
using NonlinearSolve: NonlinearSolve, FastLevenbergMarquardtJL
7+
using SciMLBase: SciMLBase, NonlinearLeastSquaresProblem, NonlinearProblem, ReturnCode
8+
using StaticArraysCore: SArray
9+
10+
const FastLM = FastLevenbergMarquardt
811

912
@inline function _fast_lm_solver(::FastLevenbergMarquardtJL{linsolve}, x) where {linsolve}
1013
if linsolve === :cholesky

ext/NonlinearSolveFixedPointAccelerationExt.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module NonlinearSolveFixedPointAccelerationExt
22

3-
using NonlinearSolve, FixedPointAcceleration, SciMLBase
3+
using NonlinearSolve: NonlinearSolve, FixedPointAccelerationJL
4+
using SciMLBase: SciMLBase, NonlinearProblem, ReturnCode
5+
using FixedPointAcceleration: FixedPointAcceleration, fixed_point
46

57
function SciMLBase.__solve(prob::NonlinearProblem, alg::FixedPointAccelerationJL, args...;
68
abstol = nothing, maxiters = 1000, alias_u0::Bool = false,

ext/NonlinearSolveLeastSquaresOptimExt.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
module NonlinearSolveLeastSquaresOptimExt
22

3-
using NonlinearSolve, SciMLBase
4-
import ConcreteStructs: @concrete
5-
import LeastSquaresOptim as LSO
3+
using ConcreteStructs: @concrete
4+
using LeastSquaresOptim: LeastSquaresOptim
5+
using NonlinearSolve: NonlinearSolve, LeastSquaresOptimJL, TraceMinimal
6+
using SciMLBase: SciMLBase, NonlinearLeastSquaresProblem, NonlinearProblem, ReturnCode
7+
8+
const LSO = LeastSquaresOptim
69

710
@inline function _lso_solver(::LeastSquaresOptimJL{alg, ls}) where {alg, ls}
811
linsolve = ls === :qr ? LSO.QR() :

ext/NonlinearSolveMINPACKExt.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
module NonlinearSolveMINPACKExt
22

3-
using MINPACK, NonlinearSolve, SciMLBase
4-
import FastClosures: @closure
3+
using MINPACK: MINPACK
4+
using NonlinearSolve: NonlinearSolve, CMINPACK
5+
using SciMLBase: SciMLBase, NonlinearLeastSquaresProblem, NonlinearProblem, ReturnCode
6+
using FastClosures: @closure
57

68
function SciMLBase.__solve(
79
prob::Union{NonlinearLeastSquaresProblem, NonlinearProblem}, alg::CMINPACK,

ext/NonlinearSolveNLSolversExt.jl

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
module NonlinearSolveNLSolversExt
22

3-
using ADTypes, FastClosures, NonlinearSolve, NLSolvers, SciMLBase, LinearAlgebra
4-
using FiniteDiff, ForwardDiff
3+
using ADTypes: ADTypes, AutoFiniteDiff, AutoForwardDiff, AutoPolyesterForwardDiff
4+
using FastClosures: @closure
5+
using FiniteDiff: FiniteDiff
6+
using ForwardDiff: ForwardDiff
7+
using LinearAlgebra: norm
8+
using NLSolvers: NLSolvers, NEqOptions, NEqProblem
9+
using NonlinearSolve: NonlinearSolve, NLSolversJL
10+
using SciMLBase: SciMLBase, NonlinearProblem, ReturnCode
511

612
function SciMLBase.__solve(prob::NonlinearProblem, alg::NLSolversJL, args...;
713
abstol = nothing, reltol = nothing, maxiters = 1000,

ext/NonlinearSolveNLsolveExt.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module NonlinearSolveNLsolveExt
22

3-
using NonlinearSolve, NLsolve, SciMLBase
3+
using NonlinearSolve: NonlinearSolve, NLsolveJL, TraceMinimal
4+
using NLsolve: NLsolve, OnceDifferentiable, nlsolve
5+
using SciMLBase: SciMLBase, NonlinearProblem, ReturnCode
46

57
function SciMLBase.__solve(
68
prob::NonlinearProblem, alg::NLsolveJL, args...; abstol = nothing,

ext/NonlinearSolveSIAMFANLEquationsExt.jl

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
module NonlinearSolveSIAMFANLEquationsExt
22

3-
using NonlinearSolve, SIAMFANLEquations, SciMLBase
4-
import FastClosures: @closure
3+
using FastClosures: @closure
4+
using NonlinearSolve: NonlinearSolve, SIAMFANLEquationsJL
5+
using SciMLBase: SciMLBase, NonlinearProblem, ReturnCode
6+
using SIAMFANLEquations: SIAMFANLEquations, aasol, nsol, nsoli, nsolsc, ptcsol, ptcsoli,
7+
ptcsolsc, secant
58

69
@inline function __siam_fanl_equations_retcode_mapping(sol)
710
if sol.errcode == 0

ext/NonlinearSolveSpeedMappingExt.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
module NonlinearSolveSpeedMappingExt
22

3-
using NonlinearSolve, SciMLBase, SpeedMapping
3+
using NonlinearSolve: NonlinearSolve, SpeedMappingJL
4+
using SciMLBase: SciMLBase, NonlinearProblem, ReturnCode
5+
using SpeedMapping: speedmapping
46

57
function SciMLBase.__solve(prob::NonlinearProblem, alg::SpeedMappingJL, args...;
68
abstol = nothing, maxiters = 1000, alias_u0::Bool = false,

0 commit comments

Comments
 (0)