@@ -170,6 +170,34 @@ mod tests {
170
170
}
171
171
}
172
172
173
+ #[ test]
174
+ fn no_layouts ( ) {
175
+ let a = M :: zeros ( ( 5 , 5 ) ) ;
176
+ let b = M :: zeros ( ( 5 , 5 ) . f ( ) ) ;
177
+
178
+ // 2D row/column matrixes
179
+ let arow = a. slice ( s ! [ 0 ..1 , ..] ) ;
180
+ let acol = a. slice ( s ! [ .., 0 ..1 ] ) ;
181
+ let brow = b. slice ( s ! [ 0 ..1 , ..] ) ;
182
+ let bcol = b. slice ( s ! [ .., 0 ..1 ] ) ;
183
+ assert_layouts ! ( arow, CORDER , FORDER ) ;
184
+ assert_not_layouts ! ( acol, CORDER , CPREFER , FORDER , FPREFER ) ;
185
+ assert_layouts ! ( bcol, CORDER , FORDER ) ;
186
+ assert_not_layouts ! ( brow, CORDER , CPREFER , FORDER , FPREFER ) ;
187
+
188
+ // 2D row/column matrixes - now made with insert axis
189
+ for & axis in & [ Axis ( 0 ) , Axis ( 1 ) ] {
190
+ let arow = a. slice ( s ! [ 0 , ..] ) . insert_axis ( axis) ;
191
+ let acol = a. slice ( s ! [ .., 0 ] ) . insert_axis ( axis) ;
192
+ let brow = b. slice ( s ! [ 0 , ..] ) . insert_axis ( axis) ;
193
+ let bcol = b. slice ( s ! [ .., 0 ] ) . insert_axis ( axis) ;
194
+ assert_layouts ! ( arow, CORDER , FORDER ) ;
195
+ assert_not_layouts ! ( acol, CORDER , CPREFER , FORDER , FPREFER ) ;
196
+ assert_layouts ! ( bcol, CORDER , FORDER ) ;
197
+ assert_not_layouts ! ( brow, CORDER , CPREFER , FORDER , FPREFER ) ;
198
+ }
199
+ }
200
+
173
201
#[ test]
174
202
fn skip_layouts ( ) {
175
203
let a = M :: zeros ( ( 5 , 5 ) ) ;
0 commit comments