Skip to content

Commit 4e7cd17

Browse files
Merge pull request #156 from SciML/myb/fast
Add args... and kwargs... for FastFactorizations
2 parents 68e726e + a74d2dd commit 4e7cd17

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/factorization.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ function do_factorization(::UMFPACKFactorization, A, b, u)
9898
end
9999
end
100100

101-
function SciMLBase.solve(cache::LinearCache, alg::UMFPACKFactorization)
101+
function SciMLBase.solve(cache::LinearCache, alg::UMFPACKFactorization; kwargs...)
102102
A = cache.A
103103
A = convert(AbstractMatrix, A)
104104
if cache.isfresh
@@ -135,7 +135,7 @@ function do_factorization(::KLUFactorization, A, b, u)
135135
end
136136
end
137137

138-
function SciMLBase.solve(cache::LinearCache, alg::KLUFactorization)
138+
function SciMLBase.solve(cache::LinearCache, alg::KLUFactorization; kwargs...)
139139
A = cache.A
140140
A = convert(AbstractMatrix, A)
141141
if cache.isfresh
@@ -373,7 +373,7 @@ function init_cacheval(::FastLUFactorization, A, b, u, Pl, Pr,
373373
return WorkspaceAndFactors(ws, LinearAlgebra.LU(LAPACK.getrf!(ws, A)...))
374374
end
375375

376-
function SciMLBase.solve(cache::LinearCache, alg::FastLUFactorization)
376+
function SciMLBase.solve(cache::LinearCache, alg::FastLUFactorization; kwargs...)
377377
A = cache.A
378378
A = convert(AbstractMatrix, A)
379379
ws_and_fact = cache.cacheval
@@ -428,7 +428,8 @@ else
428428
end
429429
end
430430

431-
function SciMLBase.solve(cache::LinearCache, alg::FastQRFactorization{P}) where {P}
431+
function SciMLBase.solve(cache::LinearCache, alg::FastQRFactorization{P};
432+
kwargs...) where {P}
432433
A = cache.A
433434
A = convert(AbstractMatrix, A)
434435
ws_and_fact = cache.cacheval

test/basictests.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ function test_interface(alg, prob1, prob2)
3333
@test A1 * y b1
3434

3535
cache = LinearSolve.set_A(cache, copy(A2))
36-
y = solve(cache)
36+
y = solve(cache; cache_kwargs...)
3737
@test A2 * y b1
3838

3939
cache = LinearSolve.set_b(cache, b2)
40-
y = solve(cache)
40+
y = solve(cache; cache_kwargs...)
4141
@test A2 * y b2
4242

4343
return

0 commit comments

Comments
 (0)