-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
feat: add blas/base/srot
#1844
feat: add blas/base/srot
#1844
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As this PR likely requires all of the same changes as requested in #1823, I'll mark this PR accordingly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks, @aman-095!
One comment: test tolerances should be consistent across comparable API tests. E.g., if we use 5.0 * EPS
for srot.js
, we should use 5.0 * EPS
for an equivalent test in ndarray.js
. Similarly, if a native binding requires 5.0 * EPS
to pass (e.g., due to Fortran divergence from C), that same tolerance should be used for the JavaScript implementation. Tolerances serve two purposes:
- To sanity check that we have reasonable results relative to a reference implementation/expected value. If we observe significant divergence (e.g.,
100.0 * EPS
) that is a code smell that something is going wrong. - To project against future regressions.
In this case, our tests act as our stated contract with end users. If we can only "guarantee" 5.0 * EPS
agreement with a reference implementation due to Fortran shenanigans, that should be the case across all implementations.
Resolves #277.
Description
This RFC proposes to add a routine to apply a plane rotation as defined in BLAS Level 1 routines. Specifically adding
@stdlib/blas/base/srot
is proposed.Related Issues
This pull request:
Questions
No.
Other
No.
Checklist
@stdlib-js/reviewers