Skip to content

Commit 480c9ec

Browse files
authored
Add GetIpoptVersion (#505)
1 parent eb08a4f commit 480c9ec

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ IpoptMathOptInterfaceExt = "MathOptInterface"
1717

1818
[compat]
1919
HSL_jll = "3, 4, 2023, 2024, 2025"
20-
Ipopt_jll = "=300.1400.400, =300.1400.1400, =300.1400.1600, =300.1400.1700, =300.1400.1701, =300.1400.1900"
20+
Ipopt_jll = "=300.1400.1900"
2121
LinearAlgebra = "1"
2222
MathOptInterface = "1.25"
2323
OpenBLAS32_jll = "0.3.10"

ext/IpoptMathOptInterfaceExt/MOI_wrapper.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ const _SETS = Union{
248248
MOI.Interval{Float64},
249249
}
250250

251-
MOI.get(::Optimizer, ::MOI.SolverVersion) = Ipopt._version_string()
251+
MOI.get(::Optimizer, ::MOI.SolverVersion) = string(Ipopt.GetIpoptVersion())
252252

253253
### _EmptyNLPEvaluator
254254

src/C_wrapper.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,16 @@ function GetIpoptCurrentViolations(
480480
return
481481
end
482482

483+
function GetIpoptVersion()
484+
major, minor, patch = Ref{Cint}(), Ref{Cint}(), Ref{Cint}()
485+
@ccall libipopt.GetIpoptVersion(
486+
major::Ptr{Cint},
487+
minor::Ptr{Cint},
488+
patch::Ptr{Cint},
489+
)::Cvoid
490+
return VersionNumber(major[], minor[], patch[])
491+
end
492+
483493
# https://github.com/coin-or/Ipopt/blob/8f2b8efcd53d93518984597808db05dce43e348f/src/Interfaces/IpReturnCodes_inc.h#L13-L38
484494
#!format:off
485495
@enum(

src/Ipopt.jl

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,9 @@ export IpoptProblem,
3030
OpenIpoptOutputFile,
3131
SetIpoptProblemScaling,
3232
SetIntermediateCallback,
33+
GetIpoptVersion,
3334
IpoptSolve
3435

35-
# This function is needed for MOI.SolverVersion, but we don't want to expose
36-
# Ipopt_jll to IpoptMathOptInterfaceExt.
37-
_version_string() = string(pkgversion(Ipopt_jll))
38-
3936
# This function is needed by the MOI wrapper. It was previously exposed as
4037
# Ipopt.column, so we keep it here for backwards compatibility.
4138
function column end

0 commit comments

Comments
 (0)