Skip to content

Commit 066c9f1

Browse files
committed
Merge pull request #156 from bluss/t
Add .t(), shorthand for a transposed view.
2 parents ee6914b + 4e670df commit 066c9f1

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/impl_methods.rs

+8
Original file line numberDiff line numberDiff line change
@@ -904,6 +904,14 @@ impl<A, S, D> ArrayBase<S, D> where S: Data<Elem=A>, D: Dimension
904904
self
905905
}
906906

907+
/// Return a transposed view of the array.
908+
///
909+
/// This is a shorthand for `self.view().reversed_axes()`.
910+
///
911+
/// See also the more general methods `.reversed_axes()` and `.swap_axes()`.
912+
pub fn t(&self) -> ArrayView<A, D> {
913+
self.view().reversed_axes()
914+
}
907915

908916
/// Return a slice of the array’s backing data in memory order.
909917
///

tests/array.rs

+13
Original file line numberDiff line numberDiff line change
@@ -931,4 +931,17 @@ fn test_contiguous() {
931931
v.swap_axes(1, 2);
932932
assert!(!v.is_standard_layout());
933933
assert!(v.as_slice_memory_order().is_some());
934+
935+
let a = OwnedArray::<f32, _>::zeros((20, 1));
936+
let b = OwnedArray::<f32, _>::zeros_f((20, 1));
937+
assert!(a.as_slice().is_some());
938+
assert!(b.as_slice().is_some());
939+
assert!(a.as_slice_memory_order().is_some());
940+
assert!(b.as_slice_memory_order().is_some());
941+
let a = a.t();
942+
let b = b.t();
943+
assert!(a.as_slice().is_some());
944+
assert!(b.as_slice().is_some());
945+
assert!(a.as_slice_memory_order().is_some());
946+
assert!(b.as_slice_memory_order().is_some());
934947
}

0 commit comments

Comments
 (0)