81
81
function MOI. get (o:: Optimizer , attr:: MOI.ObjectiveValue )
82
82
assert_solved (o)
83
83
MOI. check_result_index_bounds (o, attr)
84
- sols = unsafe_wrap (Array{Ptr{SCIP_SOL}}, SCIPgetSols (o), SCIPgetNSols (o))
85
- return SCIPgetSolOrigObj (o, sols[attr. result_index])
84
+ return SCIPgetSolOrigObj (o, o. solution_storage[attr. result_index])
86
85
end
87
86
88
87
function MOI. get (o:: Optimizer , attr:: MOI.VariablePrimal , vi:: MOI.VariableIndex )
89
88
assert_solved (o)
90
89
MOI. check_result_index_bounds (o, attr)
91
- sols = unsafe_wrap (Array{Ptr{SCIP_SOL}}, SCIPgetSols (o), SCIPgetNSols (o))
92
- return SCIPgetSolVal (o, sols[attr. result_index], var (o, vi))
90
+ return SCIPgetSolVal (o, o. solution_storage[attr. result_index], var (o, vi))
93
91
end
94
92
95
93
function MOI. get (
@@ -99,12 +97,8 @@ function MOI.get(
99
97
)
100
98
assert_solved (o)
101
99
MOI. check_result_index_bounds (o, attr)
102
- sols = unsafe_wrap (Array{Ptr{SCIP_SOL}}, SCIPgetSols (o), SCIPgetNSols (o))
103
- return SCIPgetSolVal (
104
- o,
105
- sols[attr. result_index],
106
- var (o, MOI. VariableIndex (ci. value)),
107
- )
100
+ x = MOI. VariableIndex (ci. value)
101
+ return SCIPgetSolVal (o, o. solution_storage[attr. result_index], var (o, x))
108
102
end
109
103
110
104
function MOI. get (
@@ -114,8 +108,7 @@ function MOI.get(
114
108
)
115
109
assert_solved (o)
116
110
MOI. check_result_index_bounds (o, attr)
117
- sols = unsafe_wrap (Array{Ptr{SCIP_SOL}}, SCIPgetSols (o), SCIPgetNSols (o))
118
- return SCIPgetActivityLinear (o, cons (o, ci), sols[attr. result_index])
111
+ return SCIPgetActivityLinear (o, cons (o, ci), o. solution_storage[attr. result_index])
119
112
end
120
113
121
114
function MOI. get (o:: Optimizer , :: MOI.ObjectiveBound )
0 commit comments