Skip to content

docs: add C APIs section placeholder to four lapack/base packages#12879

Draft
Planeshifter wants to merge 4 commits into
developfrom
philipp/drift-lapack-base-2026-06-14
Draft

docs: add C APIs section placeholder to four lapack/base packages#12879
Planeshifter wants to merge 4 commits into
developfrom
philipp/drift-lapack-base-2026-06-14

Conversation

@Planeshifter

Copy link
Copy Markdown
Member

Description

This pull request inserts the canonical ## C APIs placeholder section into four lapack/base packages whose READMEs currently skip the section: clacgv, crot, zlacgv, and zrot. The stub is byte-identical to the boilerplate already used by 27/31 (≈87%) siblings, including dgttrf, dladiv, dlassq, slaswp, iladlc, and dlapy2. No JavaScript, tests, examples, or public API are touched.

The four outliers are all valid LAPACK BLAS-like routines whose Fortran counterparts exist upstream; like most siblings, none ships a native binding today, but the placeholder is the documented convention for the namespace and keeps the namespace consistent for future C-bridge work.

Namespace summary

  • Namespace: @stdlib/lapack/base
  • Members analyzed: 31 (autogenerated exclusions: 0)
  • Structural features with clear majority (≥75%): README ## C APIs placeholder section (27/31 = 87%), ## Usage, ## Notes, ## Examples, ### Usage, ### Examples, examples/index.js, top-level package.json keys, test/test.js, benchmark/benchmark.js.
  • Features excluded for no clear majority: native-binding artifacts (binding.gyp, include.gypi, src/, manifest.json — only 2-3/31 packages), lib/native.js (1/31), package.json keywords arrays (heterogeneous by routine type).

Per outlier package

lapack/base/clacgv

Adds the standard ## C APIs placeholder section (27/31 = 87% of siblings). The README previously jumped from <!-- /.examples --> directly to the auto-populated <section class="related">, skipping the stub used by every other complex/single-precision routine in the namespace that has a C-bridge stub queued. Stub content is identical to lapack/base/dgttrf; no signature, behavior, or test surface changes.

lapack/base/crot

Adds the standard ## C APIs placeholder section (27/31 = 87% of siblings). crot is the single-precision complex plane-rotation routine; like its real-precision siblings, it now carries the placeholder TODO stub in preparation for a future C bridge. Stub content is byte-identical to the canonical boilerplate.

lapack/base/zlacgv

Adds the standard ## C APIs placeholder section (27/31 = 87% of siblings). zlacgv is the double-precision complex counterpart of clacgv; the omission mirrored clacgv's and is corrected for consistency. Stub content is byte-identical to the canonical boilerplate.

lapack/base/zrot

Adds the standard ## C APIs placeholder section (27/31 = 87% of siblings). zrot is the double-precision complex counterpart of crot; the omission mirrored crot's. Stub content is byte-identical to the canonical boilerplate.

Related Issues

None.

Questions

No.

Other

Validation

  • Structural extraction: file trees, package.json shapes, README heading lists, manifest.json shapes, and test/benchmark/example file names were extracted across all 31 members of @stdlib/lapack/base.
  • Semantic extraction: lib/main.js and the routine-named entry (e.g. lib/clacgv.js) of each outlier were inspected to confirm structural parity with majority-pattern siblings (setReadOnly-wrapped ndarray attachment, identical export shape).
  • Three-agent drift validation: semantic review confirmed the four outliers are routine ports of upstream LAPACK Fortran routines (no JS-only justification); cross-reference review confirmed no tooling, tests, examples, REPL fixtures, or namespace aggregator depends on the ## C APIs anchor or content of these packages; structural review confirmed the stub is character-for-character identical across the 27 conforming siblings sampled.
  • Deliberately excluded:
    • The ## C APIs headings present in the 27 conforming packages were not modified.
    • Native-binding artifacts (src/, include/, binding.gyp, manifest.json) and lib/native.js were not added — only 1-3 packages in the namespace currently have these, so absence is not drift.
    • ## Notes is missing from xerbla and shared, but those packages are an error handler and an internal include-path helper respectively (intentional deviation from the routine pattern); excluded.
    • test.ndarray.js/benchmark.ndarray.js are absent from dlaisnan, dlamch, dlapy2, dlapy3, xerbla, shared — these are scalar/utility packages without an ndarray API, so absence is intentional.

Checklist

AI Assistance

  • Yes
  • No

If you answered "yes" above, how did you use AI assistance?

  • Code generation (e.g., when writing an implementation or fixing a bug)
  • Test/benchmark generation
  • Documentation (including examples)
  • Research and understanding

Disclosure

This PR was authored by Claude Code running the cross-package drift-detection routine. The routine extracted structural features from all 31 @stdlib/lapack/base packages, identified that 27/31 (87%) include a placeholder ## C APIs README section, flagged the four outliers (clacgv, crot, zlacgv, zrot), ran a three-agent validation gate (semantic review, cross-reference review, and structural review) which independently confirmed advance, and inserted the canonical placeholder stub byte-identically into each. The inserted text is unchanged boilerplate (no AI-generated technical content). A maintainer should promote out of draft.


@stdlib-js/reviewers


Generated by Claude Code

claude added 4 commits June 14, 2026 16:14
Added a `## C APIs` section to README.md matching the canonical
placeholder stub used elsewhere in `lapack/base` (present in 27/31
packages = 87%).

The stub is identical to the boilerplate already in `lapack/base/dgttrf`,
`lapack/base/dladiv`, `lapack/base/dlassq`, and others. No functional or
public-API change.
Added a `## C APIs` section to README.md matching the canonical
placeholder stub used elsewhere in `lapack/base` (present in 27/31
packages = 87%).

The stub is identical to the boilerplate already in `lapack/base/dgttrf`,
`lapack/base/dladiv`, `lapack/base/dlassq`, and others. No functional or
public-API change.
Added a `## C APIs` section to README.md matching the canonical
placeholder stub used elsewhere in `lapack/base` (present in 27/31
packages = 87%).

The stub is identical to the boilerplate already in `lapack/base/dgttrf`,
`lapack/base/dladiv`, `lapack/base/dlassq`, and others. No functional or
public-API change.
Added a `## C APIs` section to README.md matching the canonical
placeholder stub used elsewhere in `lapack/base` (present in 27/31
packages = 87%).

The stub is identical to the boilerplate already in `lapack/base/dgttrf`,
`lapack/base/dladiv`, `lapack/base/dlassq`, and others. No functional or
public-API change.
@stdlib-bot stdlib-bot added the LAPACK Issue or pull request related to the Linear Algebra Package (LAPACK). label Jun 14, 2026
@stdlib-bot

Copy link
Copy Markdown
Contributor

Coverage Report

Package Statements Branches Functions Lines
lapack/base/clacgv $\\color{green}227/227$
$\\color{green}+100.00\\%$
$\\color{green}12/12$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}227/227$
$\\color{green}+100.00\\%$
lapack/base/crot $\\color{green}283/283$
$\\color{green}+100.00\\%$
$\\color{green}12/12$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}283/283$
$\\color{green}+100.00\\%$
lapack/base/zlacgv $\\color{green}227/227$
$\\color{green}+100.00\\%$
$\\color{green}12/12$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}227/227$
$\\color{green}+100.00\\%$
lapack/base/zrot $\\color{green}282/282$
$\\color{green}+100.00\\%$
$\\color{green}12/12$
$\\color{green}+100.00\\%$
$\\color{green}2/2$
$\\color{green}+100.00\\%$
$\\color{green}282/282$
$\\color{green}+100.00\\%$

The above coverage report was generated for the changes in this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

LAPACK Issue or pull request related to the Linear Algebra Package (LAPACK).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants