Skip to content

Commit 30e7a50

Browse files
fix expression interpolation
1 parent f0b1a0c commit 30e7a50

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

src/utils.jl

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ function flatten_expr!(x)
3333
x
3434
end
3535

36-
default_tensor_constructor(x) = x->(out = similar(typeof(u),$(size(rhss)...)); out .= x)
37-
3836
function build_function(rhss, vs, ps = (), args = (), conv = simplified_expr, expression = Val{true};
3937
checkbounds = false, constructor=nothing, linenumbers = true)
4038
_vs = map(x-> x isa Operation ? x.op : x, vs)
@@ -61,11 +59,11 @@ function build_function(rhss, vs, ps = (), args = (), conv = simplified_expr, ex
6159
if rhss isa Matrix
6260
arr_sys_expr = build_expr(:vcat, [build_expr(:row,[conv(rhs) for rhs rhss[i,:]]) for i in 1:size(rhss,1)])
6361
# : x because ??? what to do in the general case?
64-
_constructor = constructor === nothing ? :(u isa ModelingToolkit.StaticArrays.StaticArray ? ModelingToolkit.StaticArrays.SMatrix{$(size(rhss)...)} : default_tensor_constructor) : constructor
62+
_constructor = constructor === nothing ? :(u isa ModelingToolkit.StaticArrays.StaticArray ? ModelingToolkit.StaticArrays.SMatrix{$(size(rhss)...)} : x->(out = similar(typeof(u),$(size(rhss)...)); out .= x)) : constructor
6563
elseif typeof(rhss) <: Array && !(typeof(rhss) <: Vector)
6664
vector_form = build_expr(:vect, [conv(rhs) for rhs rhss])
6765
arr_sys_expr = :(reshape($vector_form,$(size(rhss)...)))
68-
_constructor = constructor === nothing ? :(u isa ModelingToolkit.StaticArrays.StaticArray ? ModelingToolkit.StaticArrays.SArray{$(size(rhss)...)} : default_tensor_constructor) : constructor
66+
_constructor = constructor === nothing ? :(u isa ModelingToolkit.StaticArrays.StaticArray ? ModelingToolkit.StaticArrays.SArray{$(size(rhss)...)} : x->(out = similar(typeof(u),$(size(rhss)...)); out .= x)) : constructor
6967
elseif rhss isa SparseMatrixCSC
7068
vector_form = build_expr(:vect, [conv(rhs) for rhs nonzeros(rhss)])
7169
arr_sys_expr = :(SparseMatrixCSC{eltype(u),Int}($(size(rhss)...), $(rhss.colptr), $(rhss.rowval), $vector_form))

0 commit comments

Comments
 (0)