More helpful error messages for calling log/sqrt with negative real arguments #48347
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, when
log
,sqrt
, and friends are called with a negative real argument, the following error message is shown:While technically correct, it IMHO misses some clarity and does not convey to the user what the actual mistake was. I thus propose to change the error message to something like the following:
This should make it immediately clear to the regular user what happened.
I am proposing this PR since I noticed that many of our students who use our numerical simulation package do not know what to make of the original error, since they are not calling
log(-2.0)
etc. directly, but the call tolog
is hidden somewhere deep in the call stack. I would assume that this resembles the situation of many (most?) other users who will encounter this error.cc @ChrisRackauckas