Skip to content

Commit abcc16f

Browse files
committed
linalg/tranposed: P3222R0対応(#1382)
1 parent 17ed872 commit abcc16f

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

reference/linalg/transposed.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ namespace std::linalg {
3030
3131
- `Layout`が[`layout_left`](/reference/mdspan/layout_left.md)のとき、[`layout_right`](/reference/mdspan/layout_right.md)
3232
- `Layout`が[`layout_right`](/reference/mdspan/layout_right.md)のとき、[`layout_left`](/reference/mdspan/layout_left.md)
33+
- `Layout`が[`layout_left_padded<PaddingValue>`](/reference/mdspan/layout_left_padded.md)のとき、[`layout_right_padded<PaddingValue>`](/reference/mdspan/layout_right_padded.md)
34+
- `Layout`が[`layout_right_padded<PaddingValue>`](/reference/mdspan/layout_right_padded.md)のとき、[`layout_left_padded<PaddingValue>`](/reference/mdspan/layout_left_padded.md)
3335
- `Layout`が[`layout_stride`](/reference/mdspan/layout_stride.md)のとき、`layout_stride`
3436
- `Layout`が[`layout_blas_packed`](layout_blas_packed.md)`<Triangle, StorageOrder>`のとき、`layout_blas_packed<OppositeTriangle, OppositeStorageOrder>`
3537
- `OppositeTriangle`は[`conditional_t`](/reference/type_traits/conditional.md)`<`[`is_same_v`](/reference/type_traits/is_same.md)`<Triangle, upper_triangle_t>, lower_triangle_t, upper_triangle_t>`
@@ -48,7 +50,25 @@ namespace std::linalg {
4850
```
4951
* transpose-extents[link layout_transpose/transpose-extents.md]
5052
51-
- `Layout`が[`layout_stride`](/reference/mdspan/layout_stride.md)の特殊化であるとき、
53+
- `Layout`が[`layout_left_padded<PaddingValue>`](/reference/mdspan/layout_left_padded.md)であるとき、
54+
55+
```cpp
56+
R(a.data_handle(),
57+
ReturnMapping(transpose-extents(a.mapping().extents()), a.mapping().stride(1)),
58+
a.accessor())
59+
```
60+
* transpose-extents[link layout_transpose/transpose-extents.md]
61+
62+
- `Layout`[`layout_right_padded<PaddingValue>`](/reference/mdspan/layout_right_padded.md)であるとき、
63+
64+
```cpp
65+
R(a.data_handle(),
66+
ReturnMapping(transpose-extents(a.mapping().extents()), a.mapping().stride(0)),
67+
a.accessor())
68+
```
69+
* transpose-extents[link layout_transpose/transpose-extents.md]
70+
71+
- `Layout`が[`layout_stride`](/reference/mdspan/layout_stride.md)であるとき、
5272
5373
```cpp
5474
R(a.data_handle(),
@@ -122,3 +142,4 @@ int main()
122142
## 参照
123143
- [P1673R13 A free function linear algebra interface based on the BLAS](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p1673r13.html)
124144
- [P1674R2: Evolving a Standard C++ Linear Algebra Library from the BLAS](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1674r2.html)
145+
- [P3222R0 Fix C++26 by adding transposed special cases for P2642 layouts](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3222r0.html)

0 commit comments

Comments
 (0)