@@ -66,8 +66,10 @@ function setupAs!(As::Vector{ConstraintMatrix}, C::BlockMatrix)
6666 byblocks
6767end
6868
69- sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , params:: Dict{Symbol} ) = sdp (C, b, As, X, y, Z, options (params)... )
70- function sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , printlevel, params)
69+ sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , params:: Dict{Symbol} ) = sdp (C, b, As, 0.0 , X, y, Z, options (params)... )
70+ sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , printlevel, params) = sdp (C, b, As, 0.0 , X, y, Z, printlevel, params)
71+ sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , co:: Cdouble , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , params:: Dict{Symbol} ) = sdp (C, b, As, co, X, y, Z, options (params)... )
72+ function sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , co:: Cdouble , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , printlevel, params)
7173 # I pass pointers pX, py and pZ to X, y and Z but only *pX, *py and *pZ are use in the code
7274 # so no need to worry, they won't change :)
7375 Xcsdp = X. csdp
@@ -89,7 +91,7 @@ function sdp(C::BlockMatrix, b::Vector{Cdouble}, As::Vector{ConstraintMatrix}, X
8991 k, # k::CSDP_INT
9092 C. csdp, # C::blockmatrix
9193 fptr (b), # a::Ptr{Cdouble}
92- 0.0 , # constant_offset::Cdouble
94+ co, # constant_offset::Cdouble
9395 fptr (Ascsdp), # constraints::Ptr{constraintmatrix}
9496 fptr (byblocks),
9597 Xcsdp, # X::blockmatrix
@@ -119,17 +121,17 @@ function sdp(C::BlockMatrix, b::Vector{Cdouble}, As::Vector{ConstraintMatrix}, X
119121 return status, pobj, dobj
120122end
121123
122- function loaded_sdp (problem:: LoadingProblem , X:: Ref{blockmatrix} , y:: Vector{Cdouble} , Z:: Ref{blockmatrix} , params:: Dict{Symbol} )
123- return loaded_sdp (problem, X, y, Z, options ( params) ... )
124- end
125- function loaded_sdp (problem:: LoadingProblem , X:: Ref{blockmatrix} , y:: Vector{Cdouble} , Z:: Ref{blockmatrix} , printlevel, params)
124+ loaded_sdp (problem:: LoadingProblem , X:: Ref{blockmatrix} , y:: Vector{Cdouble} , Z:: Ref{blockmatrix} , params:: Dict{Symbol} ) = loaded_sdp (problem, 0.0 , X, y, Z, options (params) ... )
125+ loaded_sdp (problem :: LoadingProblem , X :: Ref{blockmatrix} , y :: Vector{Cdouble} , Z :: Ref{blockmatrix} , printlevel, params) = loaded_sdp (problem, 0.0 , X, y, Z, printlevel, params)
126+ loaded_sdp (problem :: LoadingProblem , co :: Cdouble , X :: Ref{blockmatrix} , y :: Vector{Cdouble} , Z :: Ref{blockmatrix} , params :: Dict{Symbol} ) = loaded_sdp (problem, co, X, y, Z, options (params) ... )
127+ function loaded_sdp (problem:: LoadingProblem , co :: Cdouble , X:: Ref{blockmatrix} , y:: Vector{Cdouble} , Z:: Ref{blockmatrix} , printlevel, params)
126128 # I pass pointers py to X, y and Z but only *pX, *py and *pZ are
127129 # used in the code so no need to worry, they won't change :)
128130 ycsdp = Ref {Ptr{Cdouble}} (fptr (y))
129131
130132 status, pobj, dobj = loaded_sdp (
131133 problem. ptr, # problem::Ptr{Cvoid}
132- 0.0 , # constant_offset::Cdouble
134+ co, # constant_offset::Cdouble
133135 X, # pX::Ptr{blockmatrix}
134136 ycsdp, # py::Ptr{Cdouble}
135137 Z, # pZ::Ptr{blockmatrix}
@@ -139,10 +141,11 @@ function loaded_sdp(problem::LoadingProblem, X::Ref{blockmatrix}, y::Vector{Cdou
139141 @assert ycsdp[] == fptr (y)
140142 return status, pobj, dobj
141143end
142- function parametrized_sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , params:: Dict{Symbol} )
143- return parametrized_sdp (C, b, As, X, y, Z, options (params)... )
144- end
145- function parametrized_sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , printlevel, params)
144+
145+ parametrized_sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , params:: Dict{Symbol} ) = parametrized_sdp (C, b, As, 0.0 , X, y, Z, options (params)... )
146+ parametrized_sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , printlevel, params) = parametrized_sdp (C, b, As, 0.0 , X, y, Z, printlevel, params)
147+ parametrized_sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , co:: Cdouble , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , params:: Dict{Symbol} ) = parametrized_sdp (C, b, As, co, X, y, Z, options (params)... )
148+ function parametrized_sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{ConstraintMatrix} , co:: Cdouble , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix , printlevel, params)
146149 # I pass pointers pX, py and pZ to X, y and Z but only *pX, *py and *pZ are
147150 # used in the code so no need to worry, they won't change :)
148151 Xcsdp = X. csdp
@@ -156,7 +159,7 @@ function parametrized_sdp(C::BlockMatrix, b::Vector{Cdouble}, As::Vector{Constra
156159 C. csdp, # C::blockmatrix
157160 fptr (b), # a::Ptr{Cdouble}
158161 fptr (Ascsdp), # constraints::Ptr{constraintmatrix}
159- 0.0 , # constant_offset::Cdouble
162+ co, # constant_offset::Cdouble
160163 ptr (Xcsdp), # pX::Ptr{blockmatrix}
161164 ycsdp, # py::Ptr{Cdouble}
162165 ptr (Zcsdp), # pZ::Ptr{blockmatrix}
@@ -169,7 +172,8 @@ function parametrized_sdp(C::BlockMatrix, b::Vector{Cdouble}, As::Vector{Constra
169172 return status, pobj, dobj
170173end
171174
172- function easy_sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{constraintmatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix )
175+ easy_sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{constraintmatrix} , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix ) = easy_sdp (C, b, As, 0.0 , X, y, Z)
176+ function easy_sdp (C:: BlockMatrix , b:: Vector{Cdouble} , As:: Vector{constraintmatrix} , co:: Cdouble , X:: BlockMatrix , y:: Vector{Cdouble} , Z:: BlockMatrix )
173177 # I pass pointers pX, py and pZ to X, y and Z but only *pX, *py and *pZ are
174178 # used in the code so no need to worry, they won't change :)
175179 Xcsdp = X. csdp
@@ -181,7 +185,7 @@ function easy_sdp(C::BlockMatrix, b::Vector{Cdouble}, As::Vector{constraintmatri
181185 C. csdp, # C::blockmatrix
182186 fptr (b), # a::Ptr{Cdouble}
183187 fptr (As), # constraints::Ptr{constraintmatrix}
184- 0.0 , # constant_offset::Cdouble
188+ co, # constant_offset::Cdouble
185189 ptr (Xcsdp), # pX::Ptr{blockmatrix}
186190 ycsdp, # py::Ptr{Cdouble}
187191 ptr (Zcsdp)) # pZ::Ptr{blockmatrix}
0 commit comments