|
1 | | -symconvert(::Type{T}, x::V) where {T, V} = convert(promote_type(T, V), x) |
2 | | -symconvert(::Type{T}, x::V) where {T <: Real, V} = convert(T, x) |
3 | | -symconvert(::Type{Real}, x::Integer) = convert(Float16, x) |
4 | | -symconvert(::Type{V}, x) where {V <: AbstractArray} = convert(V, symconvert.(eltype(V), x)) |
| 1 | +symconvert(::Type{T}, ::Type{F}, x::V) where {T, F, V} = convert(promote_type(T, V), x) |
| 2 | +symconvert(::Type{T}, ::Type{F}, x::V) where {T <: Real, F, V} = convert(T, x) |
| 3 | +symconvert(::Type{Real}, ::Type{F}, x::Integer) where {F} = convert(F, x) |
| 4 | +symconvert(::Type{V}, ::Type{F}, x) where {V <: AbstractArray, F} = symconvert.(eltype(V), F, x) |
5 | 5 |
|
6 | 6 | struct MTKParameters{T, I, D, C, N, H} |
7 | 7 | tunable::T |
@@ -165,7 +165,7 @@ function MTKParameters( |
165 | 165 | val = map(x -> x === COMMON_NOTHING ? false : unwrap_const(x), collect(val)) |
166 | 166 | end |
167 | 167 | end |
168 | | - val = symconvert(ctype, unwrap_const(val)) |
| 168 | + val = symconvert(ctype, floatT, unwrap_const(val)) |
169 | 169 | set_value(sym, val) |
170 | 170 | end |
171 | 171 | tunable_buffer = narrow_buffer_type(tunable_buffer; p_constructor) |
|
0 commit comments