Skip to content

Commit d480a21

Browse files
Add missing dispatch hints
1 parent d7fa117 commit d480a21

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

src/factorization.jl

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ end
1616

1717
#RF Bad fallback: will fail if `A` is just a stand-in
1818
# This should instead just create the factorization type.
19-
function init_cacheval(alg::AbstractFactorization, A, b, u, Pl, Pr, maxiters, abstol,
19+
function init_cacheval(alg::AbstractFactorization, A, b, u, Pl, Pr, maxiters::Int, abstol,
2020
reltol, verbose::Bool, assumptions::OperatorAssumptions)
2121
do_factorization(alg, convert(AbstractMatrix, A), b, u)
2222
end
@@ -127,22 +127,26 @@ function do_factorization(alg::GenericFactorization, A, b, u)
127127
return fact
128128
end
129129

130-
function init_cacheval(alg::GenericFactorization{typeof(lu)}, A, b, u, Pl, Pr, maxiters,
130+
function init_cacheval(alg::GenericFactorization{typeof(lu)}, A, b, u, Pl, Pr,
131+
maxiters::Int,
131132
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
132133
ArrayInterfaceCore.lu_instance(convert(AbstractMatrix, A))
133134
end
134-
function init_cacheval(alg::GenericFactorization{typeof(lu!)}, A, b, u, Pl, Pr, maxiters,
135+
function init_cacheval(alg::GenericFactorization{typeof(lu!)}, A, b, u, Pl, Pr,
136+
maxiters::Int,
135137
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
136138
ArrayInterfaceCore.lu_instance(convert(AbstractMatrix, A))
137139
end
138140

139141
function init_cacheval(alg::GenericFactorization{typeof(lu)},
140-
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr, maxiters,
142+
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr,
143+
maxiters::Int,
141144
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
142145
ArrayInterfaceCore.lu_instance(A)
143146
end
144147
function init_cacheval(alg::GenericFactorization{typeof(lu!)},
145-
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr, maxiters,
148+
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr,
149+
maxiters::Int,
146150
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
147151
ArrayInterfaceCore.lu_instance(A)
148152
end
@@ -167,11 +171,12 @@ function init_cacheval(alg::GenericFactorization{typeof(lu!)}, A::Tridiagonal, b
167171
ArrayInterfaceCore.lu_instance(A)
168172
end
169173

170-
function init_cacheval(alg::GenericFactorization, A::Diagonal, b, u, Pl, Pr, maxiters,
174+
function init_cacheval(alg::GenericFactorization, A::Diagonal, b, u, Pl, Pr, maxiters::Int,
171175
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
172176
Diagonal(inv.(A.diag))
173177
end
174-
function init_cacheval(alg::GenericFactorization, A::Tridiagonal, b, u, Pl, Pr, maxiters,
178+
function init_cacheval(alg::GenericFactorization, A::Tridiagonal, b, u, Pl, Pr,
179+
maxiters::Int,
175180
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
176181
ArrayInterfaceCore.lu_instance(A)
177182
end
@@ -184,14 +189,15 @@ end
184189
function init_cacheval(alg::Union{GenericFactorization,
185190
GenericFactorization{typeof(bunchkaufman!)},
186191
GenericFactorization{typeof(bunchkaufman)}},
187-
A::Union{Hermitian, Symmetric}, b, u, Pl, Pr, maxiters, abstol,
192+
A::Union{Hermitian, Symmetric}, b, u, Pl, Pr, maxiters::Int, abstol,
188193
reltol, verbose::Bool, assumptions::OperatorAssumptions)
189194
BunchKaufman(A.data, Array(1:size(A, 1)), A.uplo, true, false, 0)
190195
end
191196

192197
function init_cacheval(alg::Union{GenericFactorization{typeof(bunchkaufman!)},
193198
GenericFactorization{typeof(bunchkaufman)}},
194-
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr, maxiters,
199+
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr,
200+
maxiters::Int,
195201
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
196202
if eltype(A) <: Complex
197203
return bunchkaufman!(Hermitian(A))
@@ -216,7 +222,8 @@ end
216222

217223
# Ambiguity handling dispatch
218224
function init_cacheval(alg::Union{QRFactorization, SVDFactorization},
219-
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr, maxiters,
225+
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr,
226+
maxiters::Int,
220227
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
221228
newA = copy(convert(AbstractMatrix, A))
222229
if newA isa AbstractSparseMatrix
@@ -241,7 +248,8 @@ end
241248
function init_cacheval(alg::Union{GenericFactorization,
242249
GenericFactorization{typeof(cholesky)},
243250
GenericFactorization{typeof(cholesky!)}},
244-
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr, maxiters,
251+
A::StridedMatrix{<:LinearAlgebra.BlasFloat}, b, u, Pl, Pr,
252+
maxiters::Int,
245253
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
246254
newA = copy(convert(AbstractMatrix, A))
247255
do_factorization(alg, newA, b, u)
@@ -330,7 +338,7 @@ function RFLUFactorization(; pivot = Val(true), thread = Val(true))
330338
RFLUFactorization(pivot, thread)
331339
end
332340

333-
function init_cacheval(alg::RFLUFactorization, A, b, u, Pl, Pr, maxiters,
341+
function init_cacheval(alg::RFLUFactorization, A, b, u, Pl, Pr, maxiters::Int,
334342
abstol, reltol, verbose::Bool, assumptions::OperatorAssumptions)
335343
ipiv = Vector{LinearAlgebra.BlasInt}(undef, min(size(A)...))
336344
ArrayInterfaceCore.lu_instance(convert(AbstractMatrix, A)), ipiv

0 commit comments

Comments
 (0)