-
Notifications
You must be signed in to change notification settings - Fork 778
[linalg.conj.conjugated] Rearrange to match P3050R3 #7506
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12812,41 +12812,35 @@ | |
\begin{itemize} | ||
\item | ||
\tcode{remove_cvref_t<decltype(a.accessor().nested_accessor())>} | ||
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<ElementType>} is an arithmetic type; otherwise, | ||
otherwise, | ||
\tcode{Accessor} if \tcode{remove_cvref_t<ElementType>} 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<Accessor>} | ||
if the expression \tcode{conj(E)} is valid for any subexpression \tcode{E} | ||
whose type is \tcode{remove_cvref_t<ElementType>} | ||
with overload resolution performed in a context that includes the declaration | ||
\tcode{template<class T> conj(const T\&) = delete;}; and otherwise, | ||
\tcode{template<class U> conj(const U\&) = delete;}; | ||
jwakely marked this conversation as resolved.
Show resolved
Hide resolved
|
||
\item | ||
\tcode{conjugated_accessor<Accessor>}. | ||
otherwise, | ||
\tcode{Accessor}. | ||
\end{itemize} | ||
|
||
\pnum | ||
\returns | ||
Let \tcode{MD} be \tcode{mdspan<typename A::element_type, Extents, Layout, A>}. | ||
\begin{itemize} | ||
\item | ||
The value | ||
\begin{codeblock} | ||
mdspan<typename A::element_type, Extents, Layout, A>(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<ElementType>} 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<ElementType>} | ||
with overload resolution performed in a context that includes the declaration | ||
\tcode{template<class T> conj(const T\&) = delete;}; and otherwise, | ||
otherwise, | ||
\tcode{a}, if \tcode{is_same_v<A, Accessor>} is \tcode{true}; | ||
Comment on lines
+12839
to
+12840
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How is this editorially-obviously related to the struck text talking about There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You need to read the preceding paragraph too. In R2 (as applied to the draft) the text in p2 talking about conj(E) was duplicating exactly the condition in 1.3, which was just unnecessarily verbose and repetitive. We don't need to repeat exactly the two conditions in 1.2 and 1.3 as 2.2 and 2.3, we can just say that if the type So this is replacing everything in p2 that repeats conditions from p1 by specifying the return value in terms of what was determined in p1. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In other words, previously we had:
and
But now p2 just says we return There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @jwakely Hi! Is there anything else you would like me to do so we can merge this? Thanks! : - ) |
||
\item | ||
the value | ||
\begin{codeblock} | ||
mdspan<typename A::element_type, Extents, Layout, A>(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} | ||
|
||
|
Uh oh!
There was an error while loading. Please reload this page.