@@ -5,16 +5,22 @@ using Statistics: mean
5
5
@testset " map and map!" begin
6
6
v1 = @SVector [2 ,4 ,6 ,8 ]
7
7
v2 = @SVector [4 ,3 ,2 ,1 ]
8
+ mv1 = @MVector [2 ,4 ,6 ,8 ]
9
+ mv2 = @MVector [4 ,3 ,2 ,1 ]
8
10
mv = MVector {4, Int} (undef)
9
11
10
12
normal_v1 = [2 ,4 ,6 ,8 ]
11
13
normal_v2 = [4 ,3 ,2 ,1 ]
12
14
13
15
@test @inferred (map (- , v1)) === @SVector [- 2 , - 4 , - 6 , - 8 ]
14
16
@test @inferred (map (+ , v1, v2)) === @SVector [6 , 7 , 8 , 9 ]
15
- # @test @inferred(map(+, normal_v1, v2)) === @SVector [6, 7, 8, 9] # Maybe could fix this up
17
+ @test @inferred (map (+ , normal_v1, v2)) === @SVector [6 , 7 , 8 , 9 ]
16
18
@test @inferred (map (+ , v1, normal_v2)) === @SVector [6 , 7 , 8 , 9 ]
17
19
20
+ # Make sure similar_type is based on first <: StaticArray
21
+ @test @inferred (map (+ , normal_v1, mv2)):: MVector{4,Int} == @MVector [6 , 7 , 8 , 9 ]
22
+ @test @inferred (map (+ , mv1, normal_v2)):: MVector{4,Int} == @MVector [6 , 7 , 8 , 9 ]
23
+
18
24
map! (+ , mv, v1, v2)
19
25
@test mv == @MVector [6 , 7 , 8 , 9 ]
20
26
mv2 = MVector {4, Int} (undef)
@@ -29,6 +35,9 @@ using Statistics: mean
29
35
@test @inferred (map (/ , SVector {0,Int} (), SVector {0,Int} ())) === SVector {0,Float64} ()
30
36
@test @inferred (map (+ , SVector {0,Int} (), SVector {0,Float32} ())) === SVector {0,Float32} ()
31
37
@test @inferred (map (length, SVector {0,String} ())) === SVector {0,Int} ()
38
+ # similar_type based on first <: StaticArray
39
+ @test @inferred (map (+ , MVector {0,Int} (), Int[])):: MVector{0,Int} == MVector {0,Int} ()
40
+ @test @inferred (map (+ , Int[], MVector {0,Int} ())):: MVector{0,Int} == MVector {0,Int} ()
32
41
end
33
42
34
43
@testset " [map]reduce and [map]reducedim" begin
0 commit comments