@@ -57,6 +57,24 @@ import StaticArrays.arithmetic_closure
5757 @test all (check)
5858 m = rand (1 : 1 , SVector{3 })
5959 @test rand (m) == 1
60+
61+ for T in (SVector, MVector, SizedVector)
62+ v1 = rand (T{3 })
63+ @test v1 isa T{3 , Float64}
64+ @test all (0 .< v1 .< 1 )
65+
66+ v2 = rand (T{0 })
67+ @test v2 isa T{0 , Float64}
68+ @test all (0 .< v2 .< 1 )
69+
70+ v3 = rand (T{3 , Float32})
71+ @test v3 isa T{3 , Float32}
72+ @test all (0 .< v3 .< 1 )
73+
74+ v4 = rand (T{0 , Float32})
75+ @test v4 isa T{0 , Float32}
76+ @test all (0 .< v4 .< 1 )
77+ end
6078 end
6179
6280 @testset " rand!()" begin
@@ -68,6 +86,108 @@ import StaticArrays.arithmetic_closure
6886 rand! (m, 1 : 2 )
6987 check = ((m .>= 1 ) .& (m .<= 2 ))
7088 @test all (check)
89+
90+ for T in (MVector, SizedVector)
91+ v1 = rand (T{3 })
92+ rand! (v1)
93+ @test v1 isa T{3 , Float64}
94+ @test all (0 .< v1 .< 1 )
95+
96+ v2 = rand (T{0 })
97+ rand! (v2)
98+ @test v2 isa T{0 , Float64}
99+ @test all (0 .< v2 .< 1 )
100+
101+ v3 = rand (T{3 , Float32})
102+ rand! (v3)
103+ @test v3 isa T{3 , Float32}
104+ @test all (0 .< v3 .< 1 )
105+
106+ v4 = rand (T{0 , Float32})
107+ rand! (v4)
108+ @test v4 isa T{0 , Float32}
109+ @test all (0 .< v4 .< 1 )
110+ end
111+ end
112+
113+ @testset " randn()" begin
114+ for T in (SVector, MVector, SizedVector)
115+ v1 = randn (T{3 })
116+ @test v1 isa T{3 , Float64}
117+
118+ v2 = randn (T{0 })
119+ @test v2 isa T{0 , Float64}
120+
121+ v3 = randn (T{3 , Float32})
122+ @test v3 isa T{3 , Float32}
123+
124+ v4 = randn (T{0 , Float32})
125+ @test v4 isa T{0 , Float32}
126+ end
127+ end
128+
129+ @testset " randn!()" begin
130+ for T in (MVector, SizedVector)
131+ v1 = randn (T{3 })
132+ randn! (v1)
133+ @test v1 isa T{3 , Float64}
134+
135+ v2 = randn (T{0 })
136+ randn! (v2)
137+ @test v2 isa T{0 , Float64}
138+
139+ v3 = randn (T{3 , Float32})
140+ randn! (v3)
141+ @test v3 isa T{3 , Float32}
142+
143+ v4 = randn (T{0 , Float32})
144+ randn! (v4)
145+ @test v4 isa T{0 , Float32}
146+ end
147+ end
148+
149+ @testset " randexp()" begin
150+ for T in (SVector, MVector, SizedVector)
151+ v1 = randexp (T{3 })
152+ @test v1 isa T{3 , Float64}
153+ @test all (0 .< v1)
154+
155+ v2 = randexp (T{0 })
156+ @test v2 isa T{0 , Float64}
157+ @test all (0 .< v2)
158+
159+ v3 = randexp (T{3 , Float32})
160+ @test v3 isa T{3 , Float32}
161+ @test all (0 .< v3)
162+
163+ v4 = randexp (T{0 , Float32})
164+ @test v4 isa T{0 , Float32}
165+ @test all (0 .< v4)
166+ end
167+ end
168+
169+ @testset " randexp!()" begin
170+ for T in (MVector, SizedVector)
171+ v1 = randexp (T{3 })
172+ randexp! (v1)
173+ @test v1 isa T{3 , Float64}
174+ @test all (0 .< v1)
175+
176+ v2 = randexp (T{0 })
177+ randexp! (v2)
178+ @test v2 isa T{0 , Float64}
179+ @test all (0 .< v2)
180+
181+ v3 = randexp (T{3 , Float32})
182+ randexp! (v3)
183+ @test v3 isa T{3 , Float32}
184+ @test all (0 .< v3)
185+
186+ v4 = randexp (T{0 , Float32})
187+ randexp! (v4)
188+ @test v4 isa T{0 , Float32}
189+ @test all (0 .< v4)
190+ end
71191 end
72192
73193 @testset " arithmetic_closure" for T0 in [subtypes (Unsigned);
0 commit comments