From 2a04f93ed8f372ffd27bd25cb972155eab93407e Mon Sep 17 00:00:00 2001 From: Archit Rungta Date: Wed, 16 Jun 2021 16:00:01 +0530 Subject: [PATCH] julia - Fix type conversion bug --- .../gen/jl_cxx_files/types_conversion.jl | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/modules/julia/gen/jl_cxx_files/types_conversion.jl b/modules/julia/gen/jl_cxx_files/types_conversion.jl index f83f4c0b157..89132de783f 100644 --- a/modules/julia/gen/jl_cxx_files/types_conversion.jl +++ b/modules/julia/gen/jl_cxx_files/types_conversion.jl @@ -40,6 +40,17 @@ function julia_to_cpp(var::Array{Vec{T, N}, 1}) where {T, N} return ret end +function julia_to_cpp(var::Array{T}) where {T} + if size(var, 1) == 0 + return CxxWrap.StdVector{T}() + end + ret = CxxWrap.StdVector{typeof(julia_to_cpp(var[1]))}() + for x in var + push!(ret, julia_to_cpp(x)) + end + return ret +end + function cpp_to_julia(var::CxxWrap.StdVector{T}) where {T <: CxxScalar} ret = Array{Scalar, 1}() for x in var @@ -54,4 +65,15 @@ function cpp_to_julia(var::CxxWrap.StdVector{CxxVec{T, N}}) where {T, N} push!(ret, cpp_to_julia(x)) end return ret +end + +function cpp_to_julia(var::CxxWrap.StdVector{T}) where {T} + if size(var, 1) == 0 + return Array{T}() + end + ret = Array{typeof(cpp_to_julia(var[1])), 1}() + for x in var + push!(ret, cpp_to_julia(x)) + end + return ret end \ No newline at end of file