Skip to content

Commit a39cca2

Browse files
authored
[linalg.conj.conjugated] Rearrange to match P3050R3 (#7506)
This was the wording requested by LWG and approved in P3050R3, but I mistakenly put P3050R2 in the straw polls.
1 parent db563ee commit a39cca2

File tree

1 file changed

+16
-22
lines changed

1 file changed

+16
-22
lines changed

source/numerics.tex

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12812,41 +12812,35 @@
1281212812
\begin{itemize}
1281312813
\item
1281412814
\tcode{remove_cvref_t<decltype(a.accessor().nested_accessor())>}
12815-
if \tcode{Accessor} is a specialization of \tcode{conjugated_accessor}; otherwise,
12815+
if \tcode{Accessor} is a specialization of \tcode{conjugated_accessor};
1281612816
\item
12817-
\tcode{Accessor} if \tcode{remove_cvref_t<ElementType>} is an arithmetic type; otherwise,
12817+
otherwise,
12818+
\tcode{Accessor} if \tcode{remove_cvref_t<ElementType>} is an arithmetic type;
1281812819
\item
12819-
\tcode{Accessor} if the expression \tcode{conj(E)} is not valid for any subexpression \tcode{E}
12820+
otherwise,
12821+
\tcode{conjugated_accessor<Accessor>}
12822+
if the expression \tcode{conj(E)} is valid for any subexpression \tcode{E}
1282012823
whose type is \tcode{remove_cvref_t<ElementType>}
1282112824
with overload resolution performed in a context that includes the declaration
12822-
\tcode{template<class T> conj(const T\&) = delete;}; and otherwise,
12825+
\tcode{template<class U> U conj(const U\&) = delete;};
1282312826
\item
12824-
\tcode{conjugated_accessor<Accessor>}.
12827+
otherwise,
12828+
\tcode{Accessor}.
1282512829
\end{itemize}
1282612830

1282712831
\pnum
1282812832
\returns
12833+
Let \tcode{MD} be \tcode{mdspan<typename A::element_type, Extents, Layout, A>}.
1282912834
\begin{itemize}
1283012835
\item
12831-
The value
12832-
\begin{codeblock}
12833-
mdspan<typename A::element_type, Extents, Layout, A>(a.data_handle(), a.mapping(),
12834-
a.accessor().nested_accessor())
12835-
\end{codeblock}
12836-
if \tcode{Accessor} is a specialization of \tcode{conjugated_accessor}; otherwise,
12837-
\item
12838-
\tcode{a} if \tcode{remove_cvref_t<ElementType>} is an arithmetic type; otherwise,
12836+
\tcode{MD(a.data_handle(), a.mapping(), a.accessor().nested_accessor())}
12837+
if \tcode{Accessor} is a\newline specialization of \tcode{conjugated_accessor};
1283912838
\item
12840-
\tcode{a} if the expression \tcode{conj(E)} is not valid for any subexpression \tcode{E}
12841-
whose type is \tcode{remove_cvref_t<ElementType>}
12842-
with overload resolution performed in a context that includes the declaration
12843-
\tcode{template<class T> conj(const T\&) = delete;}; and otherwise,
12839+
otherwise,
12840+
\tcode{a}, if \tcode{is_same_v<A, Accessor>} is \tcode{true};
1284412841
\item
12845-
the value
12846-
\begin{codeblock}
12847-
mdspan<typename A::element_type, Extents, Layout, A>(a.data_handle(), a.mapping(),
12848-
conjugated_accessor(a.accessor()))
12849-
\end{codeblock}
12842+
otherwise,
12843+
\tcode{MD(a.data_handle(), a.mapping(), conjugated_accessor(a.accessor()))}.
1285012844
\end{itemize}
1285112845
\end{itemdescr}
1285212846

0 commit comments

Comments
 (0)