Skip to content

Commit 9e72237

Browse files
committed
linalg/conjugated: R3050R2対応(#1383)
1 parent abcc16f commit 9e72237

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

reference/linalg/conjugated.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,16 @@ namespace std::linalg {
2222
2323
2424
## 戻り値
25-
- `Accessor`が[`conjugated_accessor`](conjugated_accessor.md)の特殊化のとき、説明用の型`A`を[`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`<decltype(a.accessor().nested_accessor())>`として、
25+
説明用の型`A`を下記の通りとする。
2626
27+
- `Accessor`が[`conjugated_accessor`](conjugated_accessor.md)の特殊化のとき、[`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`<decltype(a.accessor().nested_accessor())>`
28+
- [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`<ElementType>`が算術型のとき、`Accessor`
29+
- [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`<ElementType>`と等価な型`T`となる任意の部分式`E`に対して、宣言`template<class T> conj(const T&) = delete;`を含むコンテキストでオーバーロード解決が行わた結果`conj(E)`が有効な式ではないとき、`Accessor`
30+
- そうでなければ、[`conjugated_accessor<Accessor>`](conjugated_accessor.md)
31+
32+
戻り値は下記の通り。
33+
34+
- `Accessor`が[`conjugated_accessor`](conjugated_accessor.md)の特殊化のとき、
2735
```cpp
2836
mdspan<typename A::element_type, Extents, Layout, A>(
2937
a.data_handle(), a.mapping(), a.accessor().nested_accessor())
@@ -32,8 +40,9 @@ namespace std::linalg {
3240
* Extents[link /reference/mdspan/extents.md]
3341
* Layout[link /reference/mdspan/LayoutMappingPolicy.md]
3442
35-
- そうではないとき、説明用の型`A`を[`conjugated_accessor`](conjugated_accessor.md)`<Accessor>`として、
36-
43+
- [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`<ElementType>`が算術型のとき、`a`
44+
- [`remove_cvref_t`](/reference/type_traits/remove_cvref.md)`<ElementType>`と等価な型`T`となる任意の部分式`E`に対して、宣言`template<class T> conj(const T&) = delete;`を含むコンテキストでオーバーロード解決が行わた結果`conj(E)`が有効な式ではないとき、`a`
45+
- そうではないとき、
3746
```cpp
3847
mdspan<typename A::element_type, Extents, Layout, A>(
3948
a.data_handle(), a.mapping(), conjugated_accessor(a.accessor()))
@@ -89,3 +98,4 @@ int main()
8998
## 参照
9099
- [P1673R13 A free function linear algebra interface based on the BLAS](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2023/p1673r13.html)
91100
- [P1674R2: Evolving a Standard C++ Linear Algebra Library from the BLAS](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1674r2.html)
101+
- [P3050R2 Fix C++26 by optimizing linalg::conjugated for noncomplex value types](https://open-std.org/jtc1/sc22/wg21/docs/papers/2024/p3050r2.html)

0 commit comments

Comments
 (0)