Skip to content

Commit 6468097

Browse files
authored
[Nonlinear] make _(Function|Subexpression)Storage immutable (#2621)
1 parent d389ba1 commit 6468097

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

src/Nonlinear/ReverseAD/mathoptinterface_api.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,12 @@ function MOI.initialize(d::NLPEvaluator, requested_features::Vector{Symbol})
153153
#
154154
for k in d.subexpression_order
155155
len = max_chunk * length(d.subexpressions[k].nodes)
156-
d.subexpressions[k].forward_storage_ϵ = zeros(len)
157-
d.subexpressions[k].partials_storage_ϵ = zeros(len)
158-
d.subexpressions[k].reverse_storage_ϵ = zeros(len)
156+
resize!(d.subexpressions[k].forward_storage_ϵ, len)
157+
fill!(d.subexpressions[k].forward_storage_ϵ, 0.0)
158+
resize!(d.subexpressions[k].partials_storage_ϵ, len)
159+
fill!(d.subexpressions[k].partials_storage_ϵ, 0.0)
160+
resize!(d.subexpressions[k].reverse_storage_ϵ, len)
161+
fill!(d.subexpressions[k].reverse_storage_ϵ, 0.0)
159162
end
160163
d.max_chunk = max_chunk
161164
if d.want_hess

src/Nonlinear/ReverseAD/types.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Use of this source code is governed by an MIT-style license that can be found
55
# in the LICENSE.md file or at https://opensource.org/licenses/MIT.
66

7-
mutable struct _SubexpressionStorage
7+
struct _SubexpressionStorage
88
nodes::Vector{Nonlinear.Node}
99
adj::SparseArrays.SparseMatrixCSC{Bool,Int}
1010
const_values::Vector{Float64}
@@ -41,7 +41,7 @@ mutable struct _SubexpressionStorage
4141
end
4242
end
4343

44-
mutable struct _FunctionStorage
44+
struct _FunctionStorage
4545
nodes::Vector{Nonlinear.Node}
4646
adj::SparseArrays.SparseMatrixCSC{Bool,Int}
4747
const_values::Vector{Float64}

0 commit comments

Comments
 (0)