diff --git a/src/singeli/src/base.singeli b/src/singeli/src/base.singeli index 3bde5ca6..c21507d5 100644 --- a/src/singeli/src/base.singeli +++ b/src/singeli/src/base.singeli @@ -286,7 +286,7 @@ def undef_promote{T, x:T} = x def zero_promote{T, x:T} = x def cvt{T, x:[_]T} = x -def broadcast{V=[_]T, v} = vec_broadcast{V, promote{T,v}} +def broadcast{V=[_]T, v} = vec_broadcast{V, if (knum{v}) v else promote{T,v}} def make{V=[_]_, ...xs} = vec_make{V, ...xs} def iota{V=[k]_} = make{V, ...iota{k}} def absu{a:[_]_} = ty_u{abs{a}}