From ffa49c8dad150237f7e25de08a2dc436be604613 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 19 Dec 2024 12:13:25 +0000 Subject: [PATCH 1/2] [linalg.conj.conjugated] Rearrange to match P3050R3 This was the wording requested by LWG and approved in P3050R3, but I mistakenly put P3050R2 in the straw polls. --- source/numerics.tex | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/source/numerics.tex b/source/numerics.tex index a549ae5924..233ea2c081 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -12812,41 +12812,35 @@ \begin{itemize} \item \tcode{remove_cvref_t} -if \tcode{Accessor} is a specialization of \tcode{conjugated_accessor}; otherwise, +if \tcode{Accessor} is a specialization of \tcode{conjugated_accessor}; \item -\tcode{Accessor} if \tcode{remove_cvref_t} is an arithmetic type; otherwise, +otherwise, +\tcode{Accessor} if \tcode{remove_cvref_t} is an arithmetic type; \item -\tcode{Accessor} if the expression \tcode{conj(E)} is not valid for any subexpression \tcode{E} +otherwise, +\tcode{conjugated_accessor} +if the expression \tcode{conj(E)} is valid for any subexpression \tcode{E} whose type is \tcode{remove_cvref_t} with overload resolution performed in a context that includes the declaration -\tcode{template conj(const T\&) = delete;}; and otherwise, +\tcode{template conj(const U\&) = delete;}; \item -\tcode{conjugated_accessor}. +otherwise, +\tcode{Accessor}. \end{itemize} \pnum \returns +Let \tcode{MD} be \tcode{mdspan}. \begin{itemize} \item -The value -\begin{codeblock} -mdspan(a.data_handle(), a.mapping(), - a.accessor().nested_accessor()) -\end{codeblock} -if \tcode{Accessor} is a specialization of \tcode{conjugated_accessor}; otherwise, -\item -\tcode{a} if \tcode{remove_cvref_t} is an arithmetic type; otherwise, +\tcode{MD(a.data_handle(), a.mapping(), a.accessor().nested_accessor())} +if \tcode{Accessor} is a\newline specialization of \tcode{conjugated_accessor}; \item -\tcode{a} if the expression \tcode{conj(E)} is not valid for any subexpression \tcode{E} -whose type is \tcode{remove_cvref_t} -with overload resolution performed in a context that includes the declaration -\tcode{template conj(const T\&) = delete;}; and otherwise, +otherwise, +\tcode{a}, if \tcode{is_same_v} is \tcode{true}; \item -the value -\begin{codeblock} -mdspan(a.data_handle(), a.mapping(), - conjugated_accessor(a.accessor())) -\end{codeblock} +otherwise, +\tcode{MD(a.data_handle(), a.mapping(), conjugated_accessor(a.accessor()))}. \end{itemize} \end{itemdescr} From 220a3ec9c76079109da42d8ee5bc75331490afd4 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 25 Dec 2024 17:20:55 +0000 Subject: [PATCH 2/2] Update source/numerics.tex Co-authored-by: timsong-cpp --- source/numerics.tex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/numerics.tex b/source/numerics.tex index 233ea2c081..e62c5eba57 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -12822,7 +12822,7 @@ if the expression \tcode{conj(E)} is valid for any subexpression \tcode{E} whose type is \tcode{remove_cvref_t} with overload resolution performed in a context that includes the declaration -\tcode{template conj(const U\&) = delete;}; +\tcode{template U conj(const U\&) = delete;}; \item otherwise, \tcode{Accessor}.