Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions ext/SCSSCS_GPU_jllExt.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@
module SCSSCS_GPU_jllExt

import SCS
import SCS_GPU_jll

global gpuindirect = SCS_GPU_jll.libscsgpuindir
import SCS_GPU_jll: libscsgpuindir

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

Expand All @@ -18,7 +16,7 @@ function SCS.scs_set_default_settings(
::Type{SCS.GpuIndirectSolver},
stgs::SCS.ScsSettings{I},
) where {I<:Cint}
return @ccall gpuindirect.scs_set_default_settings(
return @ccall libscsgpuindir.scs_set_default_settings(
stgs::Ref{SCS.ScsSettings{I}},
)::Cvoid
end
Expand All @@ -29,7 +27,7 @@ function SCS.scs_init(
cone::SCS.ScsCone{I},
stgs::SCS.ScsSettings{I},
) where {I<:Cint}
return @ccall gpuindirect.scs_init(
return @ccall libscsgpuindir.scs_init(
data::Ref{SCS.ScsData{I}},
cone::Ref{SCS.ScsCone{I}},
stgs::Ref{SCS.ScsSettings{I}},
Expand All @@ -56,7 +54,7 @@ function SCS.scs_solve(
info::SCS.ScsInfo{I},
warm_start::Integer,
) where {I<:Cint}
return @ccall gpuindirect.scs_solve(
return @ccall libscsgpuindir.scs_solve(
work::Ptr{Cvoid},
solution::Ref{SCS.ScsSolution},
info::Ref{SCS.ScsInfo{I}},
Expand All @@ -65,11 +63,11 @@ function SCS.scs_solve(
end

function SCS.scs_finish(::Type{SCS.GpuIndirectSolver}, work::Ptr{Cvoid})
return @ccall gpuindirect.scs_finish(work::Ptr{Cvoid})::Cvoid
return @ccall libscsgpuindir.scs_finish(work::Ptr{Cvoid})::Cvoid
end

function SCS.scs_version(::Type{SCS.GpuIndirectSolver})
return unsafe_string(@ccall gpuindirect.scs_version()::Cstring)
return unsafe_string(@ccall libscsgpuindir.scs_version()::Cstring)
end

end # module
16 changes: 7 additions & 9 deletions ext/SCSSCS_MKL_jllExt.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@
module SCSSCS_MKL_jllExt

import SCS
import SCS_MKL_jll

global mkldirect = SCS_MKL_jll.libscsmkl
import SCS_MKL_jll: libscsmkl

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

Expand All @@ -19,7 +17,7 @@
stgs::SCS.ScsSettings{I},
) where {I<:Clonglong}
return @ccall(
mkldirect.scs_set_default_settings(stgs::Ref{SCS.ScsSettings{I}})::Cvoid,
libscsmkl.scs_set_default_settings(stgs::Ref{SCS.ScsSettings{I}})::Cvoid,
)
end

Expand All @@ -29,7 +27,7 @@
cone::SCS.ScsCone{I},
stgs::SCS.ScsSettings{I},
) where {I<:Clonglong}
return @ccall mkldirect.scs_init(
return @ccall libscsmkl.scs_init(
data::Ref{SCS.ScsData{I}},
cone::Ref{SCS.ScsCone{I}},
stgs::Ref{SCS.ScsSettings{I}},
Expand All @@ -42,7 +40,7 @@
b::Vector{Float64},
c::Vector{Float64},
)
return @ccall mkldirect.scs_update(
return @ccall libscsmkl.scs_update(

Check warning on line 43 in ext/SCSSCS_MKL_jllExt.jl

View check run for this annotation

Codecov / codecov/patch

ext/SCSSCS_MKL_jllExt.jl#L43

Added line #L43 was not covered by tests
work::Ptr{Cvoid},
b::Ref{Float64},
c::Ref{Float64},
Expand All @@ -56,7 +54,7 @@
info::SCS.ScsInfo{I},
warm_start::Integer,
) where {I<:Clonglong}
return @ccall mkldirect.scs_solve(
return @ccall libscsmkl.scs_solve(
work::Ptr{Cvoid},
solution::Ref{SCS.ScsSolution},
info::Ref{SCS.ScsInfo{I}},
Expand All @@ -65,11 +63,11 @@
end

function SCS.scs_finish(::Type{SCS.MKLDirectSolver}, work::Ptr{Cvoid})
return @ccall mkldirect.scs_finish(work::Ptr{Cvoid})::Cvoid
return @ccall libscsmkl.scs_finish(work::Ptr{Cvoid})::Cvoid
end

function SCS.scs_version(::Type{SCS.MKLDirectSolver})
return unsafe_string(@ccall mkldirect.scs_version()::Cstring)
return unsafe_string(@ccall libscsmkl.scs_version()::Cstring)
end

end # module
2 changes: 1 addition & 1 deletion src/SCS.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
module SCS

import MathOptInterface as MOI
import SCS_jll
import SCS_jll: libscsdir, libscsindir
import SparseArrays

abstract type LinearSolver end
Expand Down
14 changes: 6 additions & 8 deletions src/linear_solvers/direct.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
# Use of this source code is governed by an MIT-style license that can be found
# in the LICENSE.md file or at https://opensource.org/licenses/MIT.

global direct = SCS_jll.libscsdir

struct DirectSolver <: LinearSolver end

is_available(::Type{DirectSolver}) = true
Expand All @@ -16,7 +14,7 @@
stgs::ScsSettings{I},
) where {I<:Clonglong}
return @ccall(
direct.scs_set_default_settings(stgs::Ref{ScsSettings{I}})::Cvoid,
libscsdir.scs_set_default_settings(stgs::Ref{ScsSettings{I}})::Cvoid,
)
end

Expand All @@ -26,7 +24,7 @@
cone::ScsCone{I},
stgs::ScsSettings{I},
) where {I<:Clonglong}
return @ccall direct.scs_init(
return @ccall libscsdir.scs_init(
data::Ref{ScsData{I}},
cone::Ref{ScsCone{I}},
stgs::Ref{ScsSettings{I}},
Expand All @@ -39,7 +37,7 @@
b::Vector{Float64},
c::Vector{Float64},
)
return @ccall direct.scs_update(
return @ccall libscsdir.scs_update(

Check warning on line 40 in src/linear_solvers/direct.jl

View check run for this annotation

Codecov / codecov/patch

src/linear_solvers/direct.jl#L40

Added line #L40 was not covered by tests
work::Ptr{Cvoid},
b::Ref{Float64},
c::Ref{Float64},
Expand All @@ -53,7 +51,7 @@
info::ScsInfo{I},
warm_start::Integer,
) where {I<:Clonglong}
return @ccall direct.scs_solve(
return @ccall libscsdir.scs_solve(
work::Ptr{Cvoid},
solution::Ref{ScsSolution},
info::Ref{ScsInfo{I}},
Expand All @@ -62,11 +60,11 @@
end

function scs_finish(::Type{DirectSolver}, work::Ptr{Cvoid})
return @ccall direct.scs_finish(work::Ptr{Cvoid})::Cvoid
return @ccall libscsdir.scs_finish(work::Ptr{Cvoid})::Cvoid
end

function scs_version(::Type{DirectSolver})
return unsafe_string(@ccall direct.scs_version()::Cstring)
return unsafe_string(@ccall libscsdir.scs_version()::Cstring)
end

scs_version() = scs_version(DirectSolver)
12 changes: 5 additions & 7 deletions src/linear_solvers/indirect.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
# Use of this source code is governed by an MIT-style license that can be found
# in the LICENSE.md file or at https://opensource.org/licenses/MIT.

global indirect = SCS_jll.libscsindir

struct IndirectSolver <: LinearSolver end

is_available(::Type{IndirectSolver}) = true
Expand All @@ -16,7 +14,7 @@ function scs_set_default_settings(
stgs::ScsSettings{I},
) where {I<:Clonglong}
return @ccall(
indirect.scs_set_default_settings(stgs::Ref{ScsSettings{I}})::Cvoid,
libscsindir.scs_set_default_settings(stgs::Ref{ScsSettings{I}})::Cvoid,
)
end

Expand All @@ -26,7 +24,7 @@ function scs_init(
cone::ScsCone{I},
stgs::ScsSettings{I},
) where {I<:Clonglong}
return @ccall indirect.scs_init(
return @ccall libscsindir.scs_init(
data::Ref{ScsData{I}},
cone::Ref{ScsCone{I}},
stgs::Ref{ScsSettings{I}},
Expand All @@ -53,7 +51,7 @@ function scs_solve(
info::ScsInfo{I},
warm_start::Integer,
) where {I<:Clonglong}
return @ccall indirect.scs_solve(
return @ccall libscsindir.scs_solve(
work::Ptr{Cvoid},
solution::Ref{ScsSolution},
info::Ref{ScsInfo{I}},
Expand All @@ -62,9 +60,9 @@ function scs_solve(
end

function scs_finish(::Type{IndirectSolver}, work::Ptr{Cvoid})
return @ccall indirect.scs_finish(work::Ptr{Cvoid})::Cvoid
return @ccall libscsindir.scs_finish(work::Ptr{Cvoid})::Cvoid
end

function scs_version(::Type{IndirectSolver})
return unsafe_string(@ccall indirect.scs_version()::Cstring)
return unsafe_string(@ccall libscsindir.scs_version()::Cstring)
end
Loading