Skip to content

Commit 03ebc5a

Browse files
authored
Merge pull request #44 from jpthiele/runic
Apply runic and add format check to pre-commit
2 parents 9700f70 + 32e590c commit 03ebc5a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+3306
-3158
lines changed

.pre-commit-config.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,7 @@ repos:
1919
rev: v2.2.4
2020
hooks:
2121
- id: codespell
22+
- repo: https://github.com/fredrikekre/runic-pre-commit
23+
rev: v1.0.0
24+
hooks:
25+
- id: runic

docs/make.jl

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
using Documenter, ExtendableSparse, AlgebraicMultigrid, IncompleteLU, Sparspak, LinearAlgebra
22

33
function mkdocs()
4-
makedocs(; sitename = "ExtendableSparse.jl",
5-
modules = [ExtendableSparse],
6-
doctest = false,
7-
warnonly = true,
8-
clean = false,
9-
authors = "J. Fuhrmann",
10-
repo = "https://github.com/WIAS-PDELib/ExtendableSparse.jl",
11-
pages = [
12-
"Home" => "index.md",
13-
"example.md",
14-
"extsparse.md",
15-
"linearsolve.md",
16-
"internal.md",
17-
"iter.md",
18-
"changes.md",
19-
])
4+
return makedocs(;
5+
sitename = "ExtendableSparse.jl",
6+
modules = [ExtendableSparse],
7+
doctest = false,
8+
warnonly = true,
9+
clean = false,
10+
authors = "J. Fuhrmann",
11+
repo = "https://github.com/WIAS-PDELib/ExtendableSparse.jl",
12+
pages = [
13+
"Home" => "index.md",
14+
"example.md",
15+
"extsparse.md",
16+
"linearsolve.md",
17+
"internal.md",
18+
"iter.md",
19+
"changes.md",
20+
]
21+
)
2022
end
2123

2224
mkdocs()

ext/ExtendableSparseAMGCLWrapExt.jl

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ mutable struct AMGCL_AMGPreconditioner <: AbstractPreconditioner
1212
factorization::AMGCLWrap.AMGPrecon
1313
kwargs
1414
function ExtendableSparse.AMGCL_AMGPreconditioner(; kwargs...)
15-
Base.depwarn("AMGCL_AMGPreconditioner() is deprecated. Use LinearSolve with `precs=AMGCLWrap.AMGPreconBuilder()` instead.",
16-
:AMGCL_AMGPreconditioner)
15+
Base.depwarn(
16+
"AMGCL_AMGPreconditioner() is deprecated. Use LinearSolve with `precs=AMGCLWrap.AMGPreconBuilder()` instead.",
17+
:AMGCL_AMGPreconditioner
18+
)
1719
precon = new()
1820
precon.kwargs = kwargs
19-
precon
21+
return precon
2022
end
2123
end
2224

@@ -27,23 +29,25 @@ end
2729

2830
function update!(precon::AMGCL_AMGPreconditioner)
2931
@inbounds flush!(precon.A)
30-
precon.factorization = AMGCLWrap.AMGPrecon(precon.A;precon.kwargs...)
32+
return precon.factorization = AMGCLWrap.AMGPrecon(precon.A; precon.kwargs...)
3133
end
3234

33-
allow_views(::AMGCL_AMGPreconditioner)=true
34-
allow_views(::Type{AMGCL_AMGPreconditioner})=true
35+
allow_views(::AMGCL_AMGPreconditioner) = true
36+
allow_views(::Type{AMGCL_AMGPreconditioner}) = true
3537

3638
#############################################################################
3739
mutable struct AMGCL_RLXPreconditioner <: AbstractPreconditioner
3840
A::ExtendableSparseMatrix
3941
factorization::AMGCLWrap.RLXPrecon
4042
kwargs
4143
function ExtendableSparse.AMGCL_RLXPreconditioner(; kwargs...)
42-
Base.depwarn("AMGCL_RLXPreconditioner() is deprecated. Use LinearSolve with `precs=AMGCLWrap.RLXPreconBuilder()` instead.",
43-
:AMGCL_RLXPreconditioner)
44+
Base.depwarn(
45+
"AMGCL_RLXPreconditioner() is deprecated. Use LinearSolve with `precs=AMGCLWrap.RLXPreconBuilder()` instead.",
46+
:AMGCL_RLXPreconditioner
47+
)
4448
precon = new()
4549
precon.kwargs = kwargs
46-
precon
50+
return precon
4751
end
4852
end
4953

@@ -54,12 +58,11 @@ end
5458

5559
function update!(precon::AMGCL_RLXPreconditioner)
5660
@inbounds flush!(precon.A)
57-
precon.factorization = AMGCLWrap.RLXPrecon(precon.A;precon.kwargs...)
61+
return precon.factorization = AMGCLWrap.RLXPrecon(precon.A; precon.kwargs...)
5862
end
5963

60-
allow_views(::AMGCL_RLXPreconditioner)=true
61-
allow_views(::Type{AMGCL_RLXPreconditioner})=true
62-
64+
allow_views(::AMGCL_RLXPreconditioner) = true
65+
allow_views(::Type{AMGCL_RLXPreconditioner}) = true
6366

6467

6568
end

ext/ExtendableSparseAlgebraicMultigridExt.jl

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ using LinearAlgebra: I
88
import ExtendableSparse: SmoothedAggregationPreconBuilder
99
import ExtendableSparse: RugeStubenPreconBuilder
1010

11-
(b::SmoothedAggregationPreconBuilder)(A::AbstractSparseMatrixCSC,p)= (aspreconditioner(smoothed_aggregation(SparseMatrixCSC(A), Val{b.blocksize}; b.kwargs...)),I)
12-
(b::RugeStubenPreconBuilder)(A::AbstractSparseMatrixCSC,p)= (aspreconditioner(ruge_stuben(SparseMatrixCSC(A), Val{b.blocksize}; b.kwargs...)),I)
11+
(b::SmoothedAggregationPreconBuilder)(A::AbstractSparseMatrixCSC, p) = (aspreconditioner(smoothed_aggregation(SparseMatrixCSC(A), Val{b.blocksize}; b.kwargs...)), I)
12+
(b::RugeStubenPreconBuilder)(A::AbstractSparseMatrixCSC, p) = (aspreconditioner(ruge_stuben(SparseMatrixCSC(A), Val{b.blocksize}; b.kwargs...)), I)
1313

1414

1515
####
@@ -19,23 +19,23 @@ import ExtendableSparse: RugeStubenPreconBuilder
1919
import ExtendableSparse: @makefrommatrix, AbstractPreconditioner, update!
2020

2121
######################################################################################
22-
rswarned=false
22+
rswarned = false
2323

2424
mutable struct RS_AMGPreconditioner <: AbstractPreconditioner
2525
A::ExtendableSparseMatrix
2626
factorization::AlgebraicMultigrid.Preconditioner
2727
kwargs
2828
blocksize
29-
function ExtendableSparse.RS_AMGPreconditioner(blocksize=1; kwargs...)
29+
function ExtendableSparse.RS_AMGPreconditioner(blocksize = 1; kwargs...)
3030
global rswarned
3131
if !rswarned
3232
@warn "RS_AMGPreconditioner is deprecated. Use LinearSolve with `precs=RugeStubenPreconBuilder()` instead"
33-
rswarned=true
33+
rswarned = true
3434
end
3535
precon = new()
3636
precon.kwargs = kwargs
37-
precon.blocksize=blocksize
38-
precon
37+
precon.blocksize = blocksize
38+
return precon
3939
end
4040
end
4141

@@ -46,30 +46,30 @@ end
4646

4747
function update!(precon::RS_AMGPreconditioner)
4848
@inbounds flush!(precon.A)
49-
precon.factorization = AlgebraicMultigrid.aspreconditioner(AlgebraicMultigrid.ruge_stuben(precon.A.cscmatrix,Val{precon.blocksize}; precon.kwargs...))
49+
return precon.factorization = AlgebraicMultigrid.aspreconditioner(AlgebraicMultigrid.ruge_stuben(precon.A.cscmatrix, Val{precon.blocksize}; precon.kwargs...))
5050
end
5151

52-
allow_views(::RS_AMGPreconditioner)=true
53-
allow_views(::Type{RS_AMGPreconditioner})=true
52+
allow_views(::RS_AMGPreconditioner) = true
53+
allow_views(::Type{RS_AMGPreconditioner}) = true
5454

5555

5656
######################################################################################
57-
sawarned=false
57+
sawarned = false
5858
mutable struct SA_AMGPreconditioner <: AbstractPreconditioner
5959
A::ExtendableSparseMatrix
6060
factorization::AlgebraicMultigrid.Preconditioner
6161
kwargs
6262
blocksize
63-
function ExtendableSparse.SA_AMGPreconditioner(blocksize=1; kwargs...)
63+
function ExtendableSparse.SA_AMGPreconditioner(blocksize = 1; kwargs...)
6464
global sawarned
6565
if !sawarned
6666
@warn "SA_AMGPreconditioner is deprecated. Use LinearSolve with `precs=SmoothedAggregationPreconBuilder()` instead"
67-
sawarned=true
67+
sawarned = true
6868
end
6969
precon = new()
7070
precon.kwargs = kwargs
71-
precon.blocksize=blocksize
72-
precon
71+
precon.blocksize = blocksize
72+
return precon
7373
end
7474
end
7575

@@ -80,11 +80,11 @@ end
8080

8181
function update!(precon::SA_AMGPreconditioner)
8282
@inbounds flush!(precon.A)
83-
precon.factorization = AlgebraicMultigrid.aspreconditioner(AlgebraicMultigrid.smoothed_aggregation(precon.A.cscmatrix, Val{precon.blocksize}; precon.kwargs...))
83+
return precon.factorization = AlgebraicMultigrid.aspreconditioner(AlgebraicMultigrid.smoothed_aggregation(precon.A.cscmatrix, Val{precon.blocksize}; precon.kwargs...))
8484
end
8585

86-
allow_views(::SA_AMGPreconditioner)=true
87-
allow_views(::Type{SA_AMGPreconditioner})=true
86+
allow_views(::SA_AMGPreconditioner) = true
87+
allow_views(::Type{SA_AMGPreconditioner}) = true
8888

8989
######################################################################################
9090
# deprecated
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
module ExtendableSparseIncompleteLUExt
22
using ExtendableSparse
3-
using IncompleteLU
3+
using IncompleteLU
44
using LinearAlgebra: I
55
using SparseArrays: AbstractSparseMatrixCSC, SparseMatrixCSC, getcolptr, rowvals, nonzeros
66

77
import ExtendableSparse: ILUTPreconBuilder
88

9-
(b::ILUTPreconBuilder)(A::AbstractSparseMatrixCSC,p)=(IncompleteLU.ilu(SparseMatrixCSC(A); τ = b.droptol),I)
9+
(b::ILUTPreconBuilder)(A::AbstractSparseMatrixCSC, p) = (IncompleteLU.ilu(SparseMatrixCSC(A); τ = b.droptol), I)
1010

1111

1212
import ExtendableSparse: @makefrommatrix, AbstractPreconditioner, update!
1313

1414

1515
# Deprecated from here
16-
warned=false
16+
warned = false
1717
mutable struct ILUTPreconditioner <: AbstractPreconditioner
1818
A::ExtendableSparseMatrix
1919
factorization::IncompleteLU.ILUFactorization
@@ -22,11 +22,11 @@ mutable struct ILUTPreconditioner <: AbstractPreconditioner
2222
global warned
2323
if !warned
2424
@warn "ILUTPreconditioner is deprecated. Use LinearSolve with `precs=ILUTPreconBuilder()` instead"
25-
warned=true
25+
warned = true
2626
end
2727
p = new()
2828
p.droptol = droptol
29-
p
29+
return p
3030
end
3131
end
3232

@@ -38,7 +38,7 @@ end
3838
function update!(precon::ILUTPreconditioner)
3939
A = precon.A
4040
@inbounds flush!(A)
41-
precon.factorization = IncompleteLU.ilu(A.cscmatrix; τ = precon.droptol)
41+
return precon.factorization = IncompleteLU.ilu(A.cscmatrix; τ = precon.droptol)
4242
end
4343

4444
end

ext/ExtendableSparseLinearSolveExt.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ struct LinearSolvePrecon{T}
99
cache::T
1010
end
1111

12-
function LinearSolvePrecon(A,method::LinearSolve.AbstractFactorization)
12+
function LinearSolvePrecon(A, method::LinearSolve.AbstractFactorization)
1313
pr = LinearProblem(A, zeros(eltype(A), size(A, 1)))
14-
LinearSolvePrecon(init(pr, method))
14+
return LinearSolvePrecon(init(pr, method))
1515
end
1616

1717
function LinearAlgebra.ldiv!(u, P::LinearSolvePrecon, b)
1818
P.cache.b = b
1919
sol = solve!(P.cache)
20-
copyto!(u, sol.u)
20+
return copyto!(u, sol.u)
2121
end
2222

23-
(b::LinearSolvePreconBuilder)(A::AbstractSparseMatrixCSC,p) = (LinearSolvePrecon(A,b.method), LinearAlgebra.I)
23+
(b::LinearSolvePreconBuilder)(A::AbstractSparseMatrixCSC, p) = (LinearSolvePrecon(A, b.method), LinearAlgebra.I)
2424

2525
end

ext/ExtendableSparsePardisoExt.jl

Lines changed: 27 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -12,38 +12,37 @@ if Pardiso.PARDISO_LOADED[]
1212
A::Union{ExtendableSparseMatrix, Nothing}
1313
ps::Pardiso.PardisoSolver
1414
phash::UInt64
15-
iparm::Union{Vector{Int},Nothing}
16-
dparm::Union{Vector{Float64},Nothing}
17-
mtype::Union{Int,Nothing}
15+
iparm::Union{Vector{Int}, Nothing}
16+
dparm::Union{Vector{Float64}, Nothing}
17+
mtype::Union{Int, Nothing}
1818
end
19-
20-
function ExtendableSparse.PardisoLU(; iparm = nothing, dparm = nothing,mtype = nothing)
21-
fact = PardisoLU(nothing, Pardiso.PardisoSolver(), 0,iparm,dparm,mtype)
19+
20+
function ExtendableSparse.PardisoLU(; iparm = nothing, dparm = nothing, mtype = nothing)
21+
return fact = PardisoLU(nothing, Pardiso.PardisoSolver(), 0, iparm, dparm, mtype)
2222
end
2323

2424
end
25-
25+
2626
#############################################################################################
2727
mutable struct MKLPardisoLU <: AbstractPardisoLU
2828
A::Union{ExtendableSparseMatrix, Nothing}
2929
ps::Pardiso.MKLPardisoSolver
3030
phash::UInt64
31-
iparm::Union{Vector{Int},Nothing}
31+
iparm::Union{Vector{Int}, Nothing}
3232
dparm::Nothing
33-
mtype::Union{Int,Nothing}
33+
mtype::Union{Int, Nothing}
3434
end
3535

3636
function ExtendableSparse.MKLPardisoLU(; iparm = nothing, mtype = nothing)
37-
fact = MKLPardisoLU(nothing, Pardiso.MKLPardisoSolver(), 0,iparm,nothing,mtype)
37+
return fact = MKLPardisoLU(nothing, Pardiso.MKLPardisoSolver(), 0, iparm, nothing, mtype)
3838
end
3939

4040

41-
4241
##########################################################################################
43-
function default_initialize!(Tv,fact::AbstractPardisoLU)
44-
iparm=fact.iparm
45-
dparm=fact.dparm
46-
mtype=fact.mtype
42+
function default_initialize!(Tv, fact::AbstractPardisoLU)
43+
iparm = fact.iparm
44+
dparm = fact.dparm
45+
mtype = fact.mtype
4746
# if !isnothing(mtype)
4847
# my_mtype=mtype fix this!
4948
# else
@@ -57,26 +56,26 @@ function default_initialize!(Tv,fact::AbstractPardisoLU)
5756
Pardiso.set_matrixtype!(fact.ps, my_mtype)
5857

5958
if !isnothing(iparm)
60-
for i = 1:min(length(iparm), length(fact.ps.iparm))
59+
for i in 1:min(length(iparm), length(fact.ps.iparm))
6160
Pardiso.set_iparm!(fact.ps, i, iparm[i])
6261
end
6362
end
6463

6564
if !isnothing(dparm)
66-
for i = 1:min(length(dparm), length(fact.ps.dparm))
65+
for i in 1:min(length(dparm), length(fact.ps.dparm))
6766
Pardiso.set_dparm!(fact.ps, i, dparm[i])
6867
end
6968
end
70-
fact
69+
return fact
7170
end
7271

7372
function update!(lufact::AbstractPardisoLU)
7473
ps = lufact.ps
7574
flush!(lufact.A)
7675
Acsc = lufact.A.cscmatrix
77-
Tv=eltype(Acsc)
76+
Tv = eltype(Acsc)
7877
if lufact.phash != lufact.A.phash
79-
default_initialize!(Tv,lufact)
78+
default_initialize!(Tv, lufact)
8079
Pardiso.set_phase!(ps, Pardiso.RELEASE_ALL)
8180
Pardiso.pardiso(ps, Tv[], Acsc, Tv[])
8281
Pardiso.set_phase!(ps, Pardiso.ANALYSIS_NUM_FACT)
@@ -86,21 +85,23 @@ function update!(lufact::AbstractPardisoLU)
8685
end
8786
Pardiso.fix_iparm!(ps, :N)
8887
Pardiso.pardiso(ps, Tv[], Acsc, Tv[])
89-
lufact
88+
return lufact
9089
end
9190

92-
function LinearAlgebra.ldiv!(u::AbstractVector,
93-
lufact::AbstractPardisoLU,
94-
v::AbstractVector)
91+
function LinearAlgebra.ldiv!(
92+
u::AbstractVector,
93+
lufact::AbstractPardisoLU,
94+
v::AbstractVector
95+
)
9596
ps = lufact.ps
9697
Acsc = lufact.A.cscmatrix
9798
Pardiso.set_phase!(ps, Pardiso.SOLVE_ITERATIVE_REFINE)
9899
Pardiso.pardiso(ps, u, Acsc, v)
99-
u
100+
return u
100101
end
101102

102103
function LinearAlgebra.ldiv!(fact::AbstractPardisoLU, v::AbstractVector)
103-
ldiv!(v, fact, copy(v))
104+
return ldiv!(v, fact, copy(v))
104105
end
105106

106107
@eval begin

0 commit comments

Comments
 (0)