You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reexamining "verb_object" rename of Givens functions.
swap
Skip to rank 1 updates
vector_sum_of_squares
CT: We repeat Remarks a lot. Should we float this up? No, just leave it.
vector_two_norm
Para 2 mixes math with prose. Parens in the text are confusing and not needed. Rewrite as follows.
The square root of the sum of square of init and the squares of the absolute values of the elements of v.
Note creeps on normative. "Recommended practice" is the text we use, but should be fine as a Note. Change "suggested" to "possible."
Get rid of separate headers for "specified result type" vs. "default result type," generally throughout the norms etc.
For default result type, delete the arrow and "see-below." It's not observable if the implementation wants to spell out the return type.
What if abs-if-needed returns a proxy reference? That's OK, then the function fails to compile; that's what we want here.
vector_abs_sum
Regarding GENERALIZED_SUM, why don't we do that with vector 2 norm?
We probably don't need it here, just math. Also need a math way to say "real-if-needed" and "imag-if-needed." At least, just drop GENERALIZED_SUM and use words and/or math.
I think we could just say "the sum of init and the absolute values of elements in the domain of v", or just use a math formula.
We will come back next time with a formula version of this. If it looks better, we can use it.
2.2 is redundant but harmless. 2.3 suffices.
Remove section headers "specified result type" and "default result type."
Remove arrow and see-below for return type.
vector_idx_abs_max
Cpp17LessThanComparable semantics can't be checked in Mandates. Let U be decltype(...). Mandates declval<U>() < declval<U>() is a valid expression.
"Mandates: declval<T&>() < declval<T&>() is a valid expression" (but references?)
Or just say less-than comparable.
Also more parens in English, replace with math.
How much of using Cpp17LessThanComparable is about semantics rather than syntax? We require that it is a strict weak order, i.e., it can’t be actually mandated.
So, “let T be decltype(...), Mandates: declval<T>() < declval<T>() is a valid expression.
...
Remove the parenthesis in (2.2) -- don't have a precondition -- keep the Mandates. Remove "(in the domain v)."
[linalg.algs.blas1.matfrobnorm]
Same changes as before: “see-below” and removing the subsections.
Stopping before [linalg.algs.blas1.matonenorm].
Stopped after matrix Frobenius norm, before matrix one norm.
The text was updated successfully, but these errors were encountered:
P1673: LWG review 2023/10/18
verb_object
" rename of Givens functions.swap
vector_sum_of_squares
CT: We repeat Remarks a lot. Should we float this up? No, just leave it.
vector_two_norm
Para 2 mixes math with prose. Parens in the text are confusing and not needed. Rewrite as follows.
Note creeps on normative. "Recommended practice" is the text we use, but should be fine as a Note. Change "suggested" to "possible."
Get rid of separate headers for "specified result type" vs. "default result type," generally throughout the norms etc.
For default result type, delete the arrow and "see-below." It's not observable if the implementation wants to spell out the return type.
What if
abs-if-needed
returns a proxy reference? That's OK, then the function fails to compile; that's what we want here.vector_abs_sum
Regarding GENERALIZED_SUM, why don't we do that with vector 2 norm?
We probably don't need it here, just math. Also need a math way to say "real-if-needed" and "imag-if-needed." At least, just drop GENERALIZED_SUM and use words and/or math.
We will come back next time with a formula version of this. If it looks better, we can use it.
2.2 is redundant but harmless. 2.3 suffices.
Remove section headers "specified result type" and "default result type."
Remove arrow and
see-below
for return type.vector_idx_abs_max
Cpp17LessThanComparable semantics can't be checked in Mandates. Let U be
decltype(...)
. Mandatesdeclval<U>() < declval<U>()
is a valid expression."Mandates: declval<T&>() < declval<T&>() is a valid expression" (but references?)
Or just say less-than comparable.
Also more parens in English, replace with math.
How much of using Cpp17LessThanComparable is about semantics rather than syntax? We require that it is a strict weak order, i.e., it can’t be actually mandated.
So, “let
T
bedecltype(...)
, Mandates:declval<T>() < declval<T>()
is a valid expression....
Remove the parenthesis in (2.2) -- don't have a precondition -- keep the Mandates. Remove "(in the domain v)."
[linalg.algs.blas1.matfrobnorm]
Same changes as before: “see-below” and removing the subsections.
Stopping before [linalg.algs.blas1.matonenorm].
Stopped after matrix Frobenius norm, before matrix one norm.
The text was updated successfully, but these errors were encountered: