Skip to content

Commit 77a1ab8

Browse files
refactor: remove redundant fields from structs
1 parent e2bc84a commit 77a1ab8

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

ext/MTKFMIExt.jl

+6-12
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ function MTK.FMIComponent(::Val{Ver}; fmu = nothing, tolerance = 1e-6,
128128

129129
if type == :ME
130130
FunctorT = Ver == 2 ? FMI2MEFunctor : FMI3MEFunctor
131-
_functor = FunctorT(zeros(buffer_length), output_value_references)
131+
_functor = FunctorT(output_value_references)
132132
@parameters (functor::(typeof(_functor)))(..)[1:buffer_length] = _functor
133133
call_expr = functor(
134134
wrapper, __mtk_internal_u, __mtk_internal_x, __mtk_internal_p, t)
@@ -147,11 +147,8 @@ function MTK.FMIComponent(::Val{Ver}; fmu = nothing, tolerance = 1e-6,
147147
push!(states, __mtk_internal_u)
148148
elseif type == :CS
149149
state_value_references = UInt32[value_references[var] for var in diffvars]
150-
state_and_output_value_references = vcat(
151-
state_value_references, output_value_references)
152150
_functor = if Ver == 2
153-
FMI2CSFunctor(state_and_output_value_references,
154-
state_value_references, output_value_references)
151+
FMI2CSFunctor(state_value_references, output_value_references)
155152
else
156153
FMI3CSFunctor(state_value_references, output_value_references)
157154
end
@@ -351,9 +348,8 @@ function reset_instance!(wrapper::FMI3InstanceWrapper)
351348
wrapper.instance = nothing
352349
end
353350

354-
struct FMI2MEFunctor{T}
355-
return_buffer::Vector{T}
356-
output_value_references::Vector{UInt32}
351+
struct FMI2MEFunctor
352+
output_value_references::Vector{FMI.fmi2ValueReference}
357353
end
358354

359355
@register_array_symbolic (fn::FMI2MEFunctor)(
@@ -385,9 +381,8 @@ function (fn::FMI2MEFunctor)(wrapper::FMI2InstanceWrapper, states, inputs, param
385381
return [states_buffer; outputs_buffer]
386382
end
387383

388-
struct FMI3MEFunctor{T}
389-
return_buffer::Vector{T}
390-
output_value_references::Vector{UInt32}
384+
struct FMI3MEFunctor
385+
output_value_references::Vector{FMI.fmi3ValueReference}
391386
end
392387

393388
@register_array_symbolic (fn::FMI3MEFunctor)(
@@ -431,7 +426,6 @@ function fmiFinalize!(integrator, u, p, ctx)
431426
end
432427

433428
struct FMI2CSFunctor
434-
state_and_output_value_references::Vector{UInt32}
435429
state_value_references::Vector{UInt32}
436430
output_value_references::Vector{UInt32}
437431
end

0 commit comments

Comments
 (0)