Skip to content

Commit 8a09c64

Browse files
don't convert arrays
1 parent 77307fe commit 8a09c64

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/build_function.jl

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,12 +331,20 @@ function _build_function(target::JuliaTarget, rhss, args...;
331331
arr_sys_expr = build_expr(:vect, [conv(rhs) for rhs rhss])
332332
end
333333

334+
xname = gensym(:MTK)
335+
334336
arr_sys_expr = !(typeof(rhss) <: SparseMatrixCSC || eltype(rhss) <: AbstractArray) ? quote
335-
convert(typeof($(fargs.args[1])),if typeof($(fargs.args[1])) <: Union{StaticArrays.SArray,ModelingToolkit.LabelledArrays.SLArray}
336-
@SArray $arr_sys_expr
337+
if typeof($(fargs.args[1])) <: Union{StaticArrays.SArray,ModelingToolkit.LabelledArrays.SLArray}
338+
$xname = @SArray $arr_sys_expr
339+
convert(typeof($(fargs.args[1])),$xname)
337340
else
338-
$arr_sys_expr
339-
end)
341+
$xname = $arr_sys_expr
342+
if !(typeof($(fargs.args[1])) <: Array)
343+
convert(typeof($(fargs.args[1])),$xname)
344+
else
345+
$xname
346+
end
347+
end
340348
end : arr_sys_expr
341349

342350
let_expr = Expr(:let, var_eqs, tuple_sys_expr)

0 commit comments

Comments
 (0)