Skip to content

Commit c7467dc

Browse files
authored
Remove global constants for library names (#307)
1 parent c3e2962 commit c7467dc

File tree

5 files changed

+25
-33
lines changed

5 files changed

+25
-33
lines changed

ext/SCSSCS_GPU_jllExt.jl

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
module SCSSCS_GPU_jllExt
77

88
import SCS
9-
import SCS_GPU_jll
10-
11-
global gpuindirect = SCS_GPU_jll.libscsgpuindir
9+
import SCS_GPU_jll: libscsgpuindir
1210

1311
SCS.is_available(::Type{SCS.GpuIndirectSolver}) = true
1412

@@ -18,7 +16,7 @@ function SCS.scs_set_default_settings(
1816
::Type{SCS.GpuIndirectSolver},
1917
stgs::SCS.ScsSettings{I},
2018
) where {I<:Cint}
21-
return @ccall gpuindirect.scs_set_default_settings(
19+
return @ccall libscsgpuindir.scs_set_default_settings(
2220
stgs::Ref{SCS.ScsSettings{I}},
2321
)::Cvoid
2422
end
@@ -29,7 +27,7 @@ function SCS.scs_init(
2927
cone::SCS.ScsCone{I},
3028
stgs::SCS.ScsSettings{I},
3129
) where {I<:Cint}
32-
return @ccall gpuindirect.scs_init(
30+
return @ccall libscsgpuindir.scs_init(
3331
data::Ref{SCS.ScsData{I}},
3432
cone::Ref{SCS.ScsCone{I}},
3533
stgs::Ref{SCS.ScsSettings{I}},
@@ -56,7 +54,7 @@ function SCS.scs_solve(
5654
info::SCS.ScsInfo{I},
5755
warm_start::Integer,
5856
) where {I<:Cint}
59-
return @ccall gpuindirect.scs_solve(
57+
return @ccall libscsgpuindir.scs_solve(
6058
work::Ptr{Cvoid},
6159
solution::Ref{SCS.ScsSolution},
6260
info::Ref{SCS.ScsInfo{I}},
@@ -65,11 +63,11 @@ function SCS.scs_solve(
6563
end
6664

6765
function SCS.scs_finish(::Type{SCS.GpuIndirectSolver}, work::Ptr{Cvoid})
68-
return @ccall gpuindirect.scs_finish(work::Ptr{Cvoid})::Cvoid
66+
return @ccall libscsgpuindir.scs_finish(work::Ptr{Cvoid})::Cvoid
6967
end
7068

7169
function SCS.scs_version(::Type{SCS.GpuIndirectSolver})
72-
return unsafe_string(@ccall gpuindirect.scs_version()::Cstring)
70+
return unsafe_string(@ccall libscsgpuindir.scs_version()::Cstring)
7371
end
7472

7573
end # module

ext/SCSSCS_MKL_jllExt.jl

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@
66
module SCSSCS_MKL_jllExt
77

88
import SCS
9-
import SCS_MKL_jll
10-
11-
global mkldirect = SCS_MKL_jll.libscsmkl
9+
import SCS_MKL_jll: libscsmkl
1210

1311
SCS.is_available(::Type{SCS.MKLDirectSolver}) = true
1412

@@ -19,7 +17,7 @@ function SCS.scs_set_default_settings(
1917
stgs::SCS.ScsSettings{I},
2018
) where {I<:Clonglong}
2119
return @ccall(
22-
mkldirect.scs_set_default_settings(stgs::Ref{SCS.ScsSettings{I}})::Cvoid,
20+
libscsmkl.scs_set_default_settings(stgs::Ref{SCS.ScsSettings{I}})::Cvoid,
2321
)
2422
end
2523

@@ -29,7 +27,7 @@ function SCS.scs_init(
2927
cone::SCS.ScsCone{I},
3028
stgs::SCS.ScsSettings{I},
3129
) where {I<:Clonglong}
32-
return @ccall mkldirect.scs_init(
30+
return @ccall libscsmkl.scs_init(
3331
data::Ref{SCS.ScsData{I}},
3432
cone::Ref{SCS.ScsCone{I}},
3533
stgs::Ref{SCS.ScsSettings{I}},
@@ -42,7 +40,7 @@ function SCS.scs_update(
4240
b::Vector{Float64},
4341
c::Vector{Float64},
4442
)
45-
return @ccall mkldirect.scs_update(
43+
return @ccall libscsmkl.scs_update(
4644
work::Ptr{Cvoid},
4745
b::Ref{Float64},
4846
c::Ref{Float64},
@@ -56,7 +54,7 @@ function SCS.scs_solve(
5654
info::SCS.ScsInfo{I},
5755
warm_start::Integer,
5856
) where {I<:Clonglong}
59-
return @ccall mkldirect.scs_solve(
57+
return @ccall libscsmkl.scs_solve(
6058
work::Ptr{Cvoid},
6159
solution::Ref{SCS.ScsSolution},
6260
info::Ref{SCS.ScsInfo{I}},
@@ -65,11 +63,11 @@ function SCS.scs_solve(
6563
end
6664

6765
function SCS.scs_finish(::Type{SCS.MKLDirectSolver}, work::Ptr{Cvoid})
68-
return @ccall mkldirect.scs_finish(work::Ptr{Cvoid})::Cvoid
66+
return @ccall libscsmkl.scs_finish(work::Ptr{Cvoid})::Cvoid
6967
end
7068

7169
function SCS.scs_version(::Type{SCS.MKLDirectSolver})
72-
return unsafe_string(@ccall mkldirect.scs_version()::Cstring)
70+
return unsafe_string(@ccall libscsmkl.scs_version()::Cstring)
7371
end
7472

7573
end # module

src/SCS.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
module SCS
77

88
import MathOptInterface as MOI
9-
import SCS_jll
9+
import SCS_jll: libscsdir, libscsindir
1010
import SparseArrays
1111

1212
abstract type LinearSolver end

src/linear_solvers/direct.jl

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
# Use of this source code is governed by an MIT-style license that can be found
44
# in the LICENSE.md file or at https://opensource.org/licenses/MIT.
55

6-
global direct = SCS_jll.libscsdir
7-
86
struct DirectSolver <: LinearSolver end
97

108
is_available(::Type{DirectSolver}) = true
@@ -16,7 +14,7 @@ function scs_set_default_settings(
1614
stgs::ScsSettings{I},
1715
) where {I<:Clonglong}
1816
return @ccall(
19-
direct.scs_set_default_settings(stgs::Ref{ScsSettings{I}})::Cvoid,
17+
libscsdir.scs_set_default_settings(stgs::Ref{ScsSettings{I}})::Cvoid,
2018
)
2119
end
2220

@@ -26,7 +24,7 @@ function scs_init(
2624
cone::ScsCone{I},
2725
stgs::ScsSettings{I},
2826
) where {I<:Clonglong}
29-
return @ccall direct.scs_init(
27+
return @ccall libscsdir.scs_init(
3028
data::Ref{ScsData{I}},
3129
cone::Ref{ScsCone{I}},
3230
stgs::Ref{ScsSettings{I}},
@@ -39,7 +37,7 @@ function scs_update(
3937
b::Vector{Float64},
4038
c::Vector{Float64},
4139
)
42-
return @ccall direct.scs_update(
40+
return @ccall libscsdir.scs_update(
4341
work::Ptr{Cvoid},
4442
b::Ref{Float64},
4543
c::Ref{Float64},
@@ -53,7 +51,7 @@ function scs_solve(
5351
info::ScsInfo{I},
5452
warm_start::Integer,
5553
) where {I<:Clonglong}
56-
return @ccall direct.scs_solve(
54+
return @ccall libscsdir.scs_solve(
5755
work::Ptr{Cvoid},
5856
solution::Ref{ScsSolution},
5957
info::Ref{ScsInfo{I}},
@@ -62,11 +60,11 @@ function scs_solve(
6260
end
6361

6462
function scs_finish(::Type{DirectSolver}, work::Ptr{Cvoid})
65-
return @ccall direct.scs_finish(work::Ptr{Cvoid})::Cvoid
63+
return @ccall libscsdir.scs_finish(work::Ptr{Cvoid})::Cvoid
6664
end
6765

6866
function scs_version(::Type{DirectSolver})
69-
return unsafe_string(@ccall direct.scs_version()::Cstring)
67+
return unsafe_string(@ccall libscsdir.scs_version()::Cstring)
7068
end
7169

7270
scs_version() = scs_version(DirectSolver)

src/linear_solvers/indirect.jl

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
# Use of this source code is governed by an MIT-style license that can be found
44
# in the LICENSE.md file or at https://opensource.org/licenses/MIT.
55

6-
global indirect = SCS_jll.libscsindir
7-
86
struct IndirectSolver <: LinearSolver end
97

108
is_available(::Type{IndirectSolver}) = true
@@ -16,7 +14,7 @@ function scs_set_default_settings(
1614
stgs::ScsSettings{I},
1715
) where {I<:Clonglong}
1816
return @ccall(
19-
indirect.scs_set_default_settings(stgs::Ref{ScsSettings{I}})::Cvoid,
17+
libscsindir.scs_set_default_settings(stgs::Ref{ScsSettings{I}})::Cvoid,
2018
)
2119
end
2220

@@ -26,7 +24,7 @@ function scs_init(
2624
cone::ScsCone{I},
2725
stgs::ScsSettings{I},
2826
) where {I<:Clonglong}
29-
return @ccall indirect.scs_init(
27+
return @ccall libscsindir.scs_init(
3028
data::Ref{ScsData{I}},
3129
cone::Ref{ScsCone{I}},
3230
stgs::Ref{ScsSettings{I}},
@@ -53,7 +51,7 @@ function scs_solve(
5351
info::ScsInfo{I},
5452
warm_start::Integer,
5553
) where {I<:Clonglong}
56-
return @ccall indirect.scs_solve(
54+
return @ccall libscsindir.scs_solve(
5755
work::Ptr{Cvoid},
5856
solution::Ref{ScsSolution},
5957
info::Ref{ScsInfo{I}},
@@ -62,9 +60,9 @@ function scs_solve(
6260
end
6361

6462
function scs_finish(::Type{IndirectSolver}, work::Ptr{Cvoid})
65-
return @ccall indirect.scs_finish(work::Ptr{Cvoid})::Cvoid
63+
return @ccall libscsindir.scs_finish(work::Ptr{Cvoid})::Cvoid
6664
end
6765

6866
function scs_version(::Type{IndirectSolver})
69-
return unsafe_string(@ccall indirect.scs_version()::Cstring)
67+
return unsafe_string(@ccall libscsindir.scs_version()::Cstring)
7068
end

0 commit comments

Comments
 (0)