From Jason Turner

[linalg.transp.helpers]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpx__mr3zq/{from.md → to.md} +25 -0
tmp/tmpx__mr3zq/{from.md → to.md} RENAMED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Exposition-only helpers for `layout_transpose` and `transposed` <a id="linalg.transp.helpers">[[linalg.transp.helpers]]</a>
2
+
3
+ The exposition-only *`transpose-extents`* function takes an `extents`
4
+ object representing the extents of a matrix, and returns a new `extents`
5
+ object representing the extents of the transpose of the matrix.
6
+
7
+ The exposition-only alias template `transpose-extents-t<InputExtents>`
8
+ gives the type of `transpose-extents(e)` for a given `extents` object
9
+ `e` of type `InputExtents`.
10
+
11
+ ``` cpp
12
+ template<class IndexType, size_t InputExtent0, size_t InputExtent1>
13
+ constexpr extents<IndexType, InputExtent1, InputExtent0>
14
+ transpose-extents(const extents<IndexType, InputExtent0, InputExtent1>& in); // exposition only
15
+ ```
16
+
17
+ *Returns:*
18
+ `extents<IndexType, InputExtent1, InputExtent0>(in.extent(1), in.extent(0))`
19
+
20
+ ``` cpp
21
+ template<class InputExtents>
22
+ using transpose-extents-t =
23
+ decltype(transpose-extents(declval<InputExtents>())); // exposition only
24
+ ```
25
+