@@ -53,7 +53,7 @@ function vmap_singlethread!(
53
53
f:: F , y:: AbstractArray{T} ,
54
54
:: Val{NonTemporal} ,
55
55
args:: Vararg{AbstractArray,A}
56
- ) where {F,T <: Base.HWReal , A, NonTemporal}
56
+ ) where {F,T <: NativeTypes , A, NonTemporal}
57
57
ptry, ptrargs, N = setup_vmap! (f, y, Val {NonTemporal} (), args... )
58
58
_vmap_singlethread! (f, ptry, Zero (), N, Val {NonTemporal} (), ptrargs)
59
59
nothing
@@ -97,7 +97,7 @@ function _vmap_singlethread!(
97
97
i = vadd_nw (i, W)
98
98
end
99
99
if i < N
100
- m = mask (T , N & (W - 1 ))
100
+ m = mask (StaticInt (W) , N & (W - 1 ))
101
101
vfinal = f (map1 (vload, ptrargs, (MM {W} (i),), m)... )
102
102
if NonTemporal
103
103
_vstore! (ptry, vfinal, (MM {W} (i,),), m, True (), True (), False (), register_size ())
383
383
@inline vmapnt! (f, args... ) = map! (f, args... )
384
384
@inline vmapntt! (f, args... ) = map! (f, args... )
385
385
386
+ # similar_bit(x, ::Type{T}) where {T} = similar(x, T)
387
+ # similar_bit(x, ::Type{Bool}) = BitArray(undef, size(x))
388
+
386
389
function vmap_call (f:: F , vm!:: V , args:: Vararg{Any,N} ) where {V,F,N}
387
390
T = Base. _return_type (f, Base. Broadcast. eltypes (args))
388
391
dest = similar (first (args), T)
392
+ # dest = similar_bit(first(args), T)
389
393
vm! (f, dest, args... )
390
394
end
391
395
0 commit comments