fix: correct bugs and typos in blas/base/cgemv#12192
Merged
Merged
Conversation
When `beta` is zero, `c_cgemv_ndarray` filled `Y` with `alpha` instead of `zero`, so callers passing `beta = 0` received `alpha + alpha*A*X` rather than `alpha*A*X`. The `c_cgemv` leading dimension check also compared `LDA` against `v` instead of `vala` (`max(1,v)`), so an invalid `LDA` went unreported when `M`/`N` is zero. Both defects were introduced in 2a0b1a1. https://claude.ai/code/session_01TSEHKgS4iExWRieEZUJTbw
Correct a duplicated `@param strideA1` doc-comment entry that should be
`strideA2`, drop the spurious article in four "must be a nonzero" error
messages, and fix transposed wording in the `c_cgemv_ndarray` README
description ("indexing alternative" -> "alternative indexing"). Typos
introduced in 2a0b1a1.
https://claude.ai/code/session_01TSEHKgS4iExWRieEZUJTbw
Contributor
Coverage Report
The above coverage report was generated for the changes in this PR. |
kgryte
approved these changes
May 19, 2026
Member
|
cc @DivitJain26 as this was relevant for your recent work. |
Member
I will keep this in mind. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Follow-up fixes for commits merged to
developbetween 2026-05-17 14:08:37 -0700 and 2026-05-18 04:45:04 -0700 (39 commits,fbf2d918..adb3e6a9b).All validated issues originate from
2a0b1a1(feat: addCimplementation forblas/base/cgemv).blas/base/cgemvBug fixes (
8b47c41):c_cgemv_ndarrayincorrectly passingalphainstead ofzerotostdlib_strided_cfill_ndarrayduring thebeta == 0pre-scaling branch (2a0b1a1,lib/node_modules/@stdlib/blas/base/cgemv/src/cgemv_ndarray.c, line ~116), causing allbeta = 0calls to returnalpha + alpha*A*Xrather thanalpha*A*X; siblingsgemv_ndarray.c/dgemv_ndarray.chandle this correctly.c_cgemv(2a0b1a1,lib/node_modules/@stdlib/blas/base/cgemv/src/cgemv.c, line ~91): the guardLDA < vfails to catch an invalidLDAwhenM/Nis zero because it tests the raw dimension rather thanvala = max(1, v), which is computed precisely for this purpose and is already cited in the accompanyingxerblamessage; changed toLDA < vala, consistent with the siblingsgemv.canddgemv.cimplementations.Typo fixes (
2dbfbfc):c_cgemv_ndarraydoc comment (2a0b1a1,lib/node_modules/@stdlib/blas/base/cgemv/src/cgemv_ndarray.c:40): duplicate@param strideA1entry renamed to@param strideA2to match the function signature.xerblaerror messages incgemv.candcgemv_ndarray.c(2a0b1a1): dropped the erroneous article "a" from four "must be a nonzero" strings to match the phrasing in siblingsgemv.c/dgemv.c.blas/base/cgemvdocs (2a0b1a1):lib/node_modules/@stdlib/blas/base/cgemv/README.mdline 295 describedc_cgemv_ndarrayas "using indexing alternative semantics"; corrected to "using alternative indexing semantics" to match every other occurrence in the README and the C sources.Related Issues
No.
Questions
No.
Other
Review scope. Audited all 39 commits merged to
developin the 24-hour window (fbf2d918..adb3e6a9b) — roughly 14k insertions across 390 files: four newndarraypackages (trues,falses,trues-like,falses-like), the newblas/base/cgemvC implementation, two large benchmark string-interpolation refactors, and assorted docs/test/style commits.Style-guide compliance + bug scan. Validated five high-signal issues — two runtime bugs and three typos, all in
blas/base/cgemv(2a0b1a1). Each was independently re-verified by re-reading the diff and comparing against the establishedsgemv/dgemvreference implementations.Checked, no action required:
d660241,9451399) and the "fix missing arguments" commits (d400b65,8e2d42f):format()placeholder/argument counts verified to match.trues/falses/trues-like/falses-likepackages: implementations fill the correct boolean value; READMEs, REPL help, and TypeScript declarations are consistent with the code.cgemvcomplex arithmetic, stride/offset handling, and addon argument parsing: verified correct.Deliberately excluded (require interpretation; no explicit backing rule):
ifconditions, and@returnannotations onvoidfunctions, in thecgemvC sources —docs/style-guides/cis a stub, so neither is an explicit style-guide violation.package.jsonkeyword-list inconsistency betweentrues/falsesand their*-likesiblings — cosmetic, not a defect.Checklist
AI Assistance
If you answered "yes" above, how did you use AI assistance?
Disclosure
This PR was authored by Claude Code. An automated multi-agent review audited every commit merged to
developover the preceding 24 hours; each finding was cross-verified against the diff and thesgemv/dgemvreference implementations before any change was applied. All fixes are mechanical corrections scoped to the reviewed window.Generated by Claude Code