Skip to content

Commit fe12881

Browse files
committed
ifelse fixes
1 parent 4a54432 commit fe12881

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/base_defs.jl

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,12 +250,21 @@ end
250250
convert(T2, vlshr(v1, convert(T1, v2)))
251251
end
252252

253+
@inline unrolldata(x) = x
254+
@inline unrolldata(x::VecUnroll) = getfield(x, :data)
253255
@inline function IfElse.ifelse(
254256
m::VecUnroll{<:Any,<:Any,Bit,<:AbstractMask},
255257
x::Real,
256258
y::Real
257259
)
258-
VecUnroll(fmap(ifelse, data(m), data(x), data(y)))
260+
VecUnroll(fmap(ifelse, getfield(m, :data), unrolldata(x), unrolldata(y)))
261+
end
262+
@inline function IfElse.ifelse(
263+
m::VecUnroll{<:Any,<:Any,Bool,Bool},
264+
x::Real,
265+
y::Real
266+
)
267+
VecUnroll(fmap(ifelse, getfield(m, :data), unrolldata(x), unrolldata(y)))
259268
end
260269

261270
@inline function promote_except_first(a, b, c)

0 commit comments

Comments
 (0)