@@ -18,6 +18,7 @@ using OffsetArrays, NamedDims
18
18
@test stack (v34)[1 ,1 ,1 ] == v34[1 ][1 ] # trailing dims
19
19
@test stack (v34) * ones (4 ) ≈ hcat (v34... ) * ones (4 ) # issue #6
20
20
@test stack (v34) * ones (4 ,2 ) ≈ hcat (v34... ) * ones (4 ,2 )
21
+ @test axes (stack (v34)) === axes (stack (v34... )) === axes (stack (v34[i] for i in 1 : 4 ))
21
22
22
23
end
23
24
@testset " tuples" begin
132
133
@test axes (stack (oout)) == (1 : 3 , 11 : 14 )
133
134
@test axes (copy (stack (oout))) == (1 : 3 , 11 : 14 )
134
135
136
+ oboth = OffsetArray (oin, 11 : 14 )
137
+ @test axes (stack (oboth)) == (3 : 5 , 11 : 14 )
138
+
135
139
ogen = (OffsetArray ([3 ,4 ,5 ], 3 : 5 ) for i in 1 : 4 )
136
140
@test axes (stack (ogen)) == (3 : 5 , 1 : 4 )
137
141
178
182
179
183
@test_throws DimensionMismatch push! (stack ([rand (2 )]), rand (3 ))
180
184
181
- end
182
- @info " loading Zygote"
183
- using Zygote
184
- @testset " zygote" begin
185
-
186
- @test Zygote. gradient ((x,y) -> sum (stack (x,y)), ones (2 ), ones (2 )) == ([1 ,1 ], [1 ,1 ])
187
- @test Zygote. gradient ((x,y) -> sum (stack ([x,y])), ones (2 ), ones (2 )) == ([1 ,1 ], [1 ,1 ])
188
-
189
- f399 (x) = sum (stack (x) * sum (x))
190
- f399c (x) = sum (collect (stack (x)) * sum (x))
191
- @test Zygote. gradient (f399, [ones (2 ), ones (2 )]) == ([[4 ,4 ], [4 ,4 ]],)
192
- @test Zygote. gradient (f399c, [ones (2 ), ones (2 )]) == ([[4 ,4 ], [4 ,4 ]],)
193
- ftup (x) = sum (stack (x... ) * sum (x))
194
- ftupc (x) = sum (collect (stack (x... )) * sum (x))
195
- @test Zygote. gradient (ftup, (ones (2 ), ones (2 ))) == (([4 ,4 ], [4 ,4 ]),)
196
- @test Zygote. gradient (ftupc, (ones (2 ), ones (2 ))) == (([4 ,4 ], [4 ,4 ]),)
197
-
198
185
end
199
186
@testset " readme" begin
200
187
218
205
@test LazyStack. vstack (g234) == reduce (vcat, collect (g234))
219
206
220
207
end
208
+ @testset " ragged" begin
209
+
210
+ @test rstack ([1 ,2 ], 1 : 3 ) == [1 1 ; 2 2 ; 0 3 ]
211
+ @test rstack ([[1 ,2 ], 1 : 3 ], fill= 99 ) == [1 1 ; 2 2 ; 99 3 ]
212
+
213
+ @test rstack (1 : 2 , OffsetArray ([2 ,3 ], + 1 )) == [1 0 ; 2 2 ; 0 3 ]
214
+ @test rstack (1 : 2 , OffsetArray ([0.1 ,1 ], - 1 )) == OffsetArray ([0 0.1 ; 1 1.0 ; 2 0 ],- 1 ,0 )
215
+
216
+ @test dimnames (rstack (:b , NamedDimsArray (1 : 2 , :a ), OffsetArray ([2 ,3 ], + 1 ))) == (:a , :b )
217
+
218
+ end
219
+ @testset " tuple functions" begin
220
+
221
+ @test LazyStack. ndims ([1 ,2 ]) == 1
222
+ @test LazyStack. ndims ((1 ,2 )) == 1
223
+ @test LazyStack. ndims ((a= 1 ,b= 2 )) == 1
224
+
225
+ @test LazyStack. size ([1 ,2 ]) == (2 ,)
226
+ @test LazyStack. size ((1 ,2 )) == (2 ,)
227
+ @test LazyStack. size ((a= 1 ,b= 2 )) == (2 ,)
228
+
229
+ @test LazyStack. axes ([1 ,2 ]) == (1 : 2 ,)
230
+ @test LazyStack. axes ((1 ,2 )) == (1 : 2 ,)
231
+ @test LazyStack. axes ((a= 1 ,b= 2 )) == (1 : 2 ,)
232
+
233
+ end
234
+ @info " loading Zygote"
235
+ using Zygote
236
+ @testset " zygote" begin
237
+
238
+ @test Zygote. gradient ((x,y) -> sum (stack (x,y)), ones (2 ), ones (2 )) == ([1 ,1 ], [1 ,1 ])
239
+ @test Zygote. gradient ((x,y) -> sum (stack ([x,y])), ones (2 ), ones (2 )) == ([1 ,1 ], [1 ,1 ])
240
+
241
+ f399 (x) = sum (stack (x) * sum (x))
242
+ f399c (x) = sum (collect (stack (x)) * sum (x))
243
+ @test Zygote. gradient (f399, [ones (2 ), ones (2 )]) == ([[4 ,4 ], [4 ,4 ]],)
244
+ @test Zygote. gradient (f399c, [ones (2 ), ones (2 )]) == ([[4 ,4 ], [4 ,4 ]],)
245
+ ftup (x) = sum (stack (x... ) * sum (x))
246
+ ftupc (x) = sum (collect (stack (x... )) * sum (x))
247
+ @test Zygote. gradient (ftup, (ones (2 ), ones (2 ))) == (([4 ,4 ], [4 ,4 ]),)
248
+ @test Zygote. gradient (ftupc, (ones (2 ), ones (2 ))) == (([4 ,4 ], [4 ,4 ]),)
249
+
250
+ end
0 commit comments