From e03519e1a07178b6c0555637bb6adb4ca8e8709b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Arnstr=C3=B6m?= Date: Sun, 4 Jan 2026 00:13:38 +0100 Subject: [PATCH 1/2] Make sure new daqp_solve works correctly for Julia <= 1.10 --- interfaces/daqp-julia/src/api.jl | 24 +++++++++++++----------- interfaces/daqp-julia/src/avi.jl | 2 +- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/interfaces/daqp-julia/src/api.jl b/interfaces/daqp-julia/src/api.jl index ff83096..504f2f9 100644 --- a/interfaces/daqp-julia/src/api.jl +++ b/interfaces/daqp-julia/src/api.jl @@ -195,17 +195,19 @@ function solve(daqp::DAQPBase.Model) if(!daqp.has_model) return zeros(0), NaN, -10, [] end result= Ref(DAQPResult(daqp.x,daqp.λ)); - exitflag=ccall((:daqp_solve, DAQPBase.libdaqp), Cint, - (Ref{DAQPBase.DAQPResult},Ref{DAQPBase.Workspace}), - result,daqp.work) - - info = (x = daqp.x, λ=daqp.λ, fval=result[].fval, - exitflag=result[].exitflag, - status = DAQPBase.flag2status[result[].exitflag], - solve_time = result[].solve_time, - setup_time = result[].setup_time, - iterations= result[].iter, nodes = result[].nodes) - return copy(daqp.x),result[].fval,result[].exitflag,info + GC.@preserve result begin + ccall((:daqp_solve, DAQPBase.libdaqp), Nothing, + (Ref{DAQPBase.DAQPResult},Ref{DAQPBase.Workspace}), + result,daqp.work) + + info = (x = daqp.x, λ=daqp.λ, fval=result[].fval, + exitflag=result[].exitflag, + status = DAQPBase.flag2status[result[].exitflag], + solve_time = result[].solve_time, + setup_time = result[].setup_time, + iterations= result[].iter, nodes = result[].nodes) + return copy(daqp.x),result[].fval,result[].exitflag,info + end end diff --git a/interfaces/daqp-julia/src/avi.jl b/interfaces/daqp-julia/src/avi.jl index 9b562ed..0fd1165 100644 --- a/interfaces/daqp-julia/src/avi.jl +++ b/interfaces/daqp-julia/src/avi.jl @@ -15,7 +15,7 @@ function _solve_kkt(H,f,A,bu,bl,ASu,ASl,kkt_buffer) n = length(f) nkkt = n+length(AS) resize!(kkt_buffer,nkkt^2) - K = reshape(kkt_buffer,nkkt,nkkt) + K = reshape(view(kkt_buffer,1:nkkt^2),(nkkt,nkkt)) @views K[1:n,1:n] = H @views K[n+1:end,1:n] = A[AS,:] @views K[1:n,n+1:end] = A[AS,:]' From 9cadb5332399a613499fd7e636d9f6642adce829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Arnstr=C3=B6m?= Date: Sun, 4 Jan 2026 00:17:49 +0100 Subject: [PATCH 2/2] v0.3.3 --- interfaces/daqp-julia/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/daqp-julia/Project.toml b/interfaces/daqp-julia/Project.toml index dff76b1..1bffee6 100644 --- a/interfaces/daqp-julia/Project.toml +++ b/interfaces/daqp-julia/Project.toml @@ -1,7 +1,7 @@ name = "DAQPBase" uuid = "833476c3-a8c0-4073-9b64-6473509843fe" authors = ["Daniel Arnström "] -version = "0.3.2" +version = "0.3.3" [deps] DAQP_jll = "5c51c916-43bf-57fe-9d62-13064ebbf40d"