Skip to content

feat: add ndarray/base/scalar-dtype (issue #11002)#11036

Closed
Suhaniahirwar20 wants to merge 2 commits intostdlib-js:developfrom
Suhaniahirwar20:scalar-dtype
Closed

feat: add ndarray/base/scalar-dtype (issue #11002)#11036
Suhaniahirwar20 wants to merge 2 commits intostdlib-js:developfrom
Suhaniahirwar20:scalar-dtype

Conversation

@Suhaniahirwar20
Copy link
Copy Markdown

Resolves #11002.

Description

What is the purpose of this pull request?

This pull request introduces a new utility @stdlib/ndarray/base/scalar-dtype to resolve a default ndarray data type from a scalar value.

Previously, scalar-to-dtype resolution logic was duplicated across multiple packages such as:

  • ndarray/base/atleastnd
  • ndarray/from-scalar

This PR extracts that logic into a reusable module, improving maintainability, consistency, and making it easier to extend support for additional data types in the future.

Changes include:

  • Adding new package @stdlib/ndarray/base/scalar-dtype
  • Refactoring ndarray/base/atleastnd to use the new utility
  • Removing duplicated scalar dtype resolution logic

Related Issues

Does this pull request have any related issues?

This pull request has the following related issues:

Questions

Any questions for reviewers of this pull request?

No.

Other

Any other information relevant to this pull request?

No.

Checklist

Please ensure the following tasks are completed before submitting this pull request.

AI Assistance

When authoring the changes proposed in this PR, did you use any kind of 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

I consulted ChatGPT to better understand the existing codebase and refactoring approach. The implementation and final changes were written and verified manually.


@stdlib-js/reviewers

---
type: pre_commit_static_analysis_report
description: Results of running static analysis checks when committing changes.
report:
  - task: lint_filenames
    status: passed
  - task: lint_editorconfig
    status: passed
  - task: lint_markdown
    status: na
  - task: lint_package_json
    status: na
  - task: lint_repl_help
    status: na
  - task: lint_javascript_src
    status: na
  - task: lint_javascript_cli
    status: na
  - task: lint_javascript_examples
    status: na
  - task: lint_javascript_tests
    status: passed
  - task: lint_javascript_benchmarks
    status: na
  - task: lint_python
    status: na
  - task: lint_r
    status: na
  - task: lint_c_src
    status: na
  - task: lint_c_examples
    status: na
  - task: lint_c_benchmarks
    status: na
  - task: lint_c_tests_fixtures
    status: na
  - task: lint_shell
    status: na
  - task: lint_typescript_declarations
    status: passed
  - task: lint_typescript_tests
    status: na
  - task: lint_license_headers
    status: passed
---
---
type: pre_commit_static_analysis_report
description: Results of running static analysis checks when committing changes.
report:
  - task: lint_filenames
    status: passed
  - task: lint_editorconfig
    status: passed
  - task: lint_markdown
    status: na
  - task: lint_package_json
    status: na
  - task: lint_repl_help
    status: na
  - task: lint_javascript_src
    status: na
  - task: lint_javascript_cli
    status: na
  - task: lint_javascript_examples
    status: passed
  - task: lint_javascript_tests
    status: passed
  - task: lint_javascript_benchmarks
    status: na
  - task: lint_python
    status: na
  - task: lint_r
    status: na
  - task: lint_c_src
    status: na
  - task: lint_c_examples
    status: na
  - task: lint_c_benchmarks
    status: na
  - task: lint_c_tests_fixtures
    status: na
  - task: lint_shell
    status: na
  - task: lint_typescript_declarations
    status: passed
  - task: lint_typescript_tests
    status: na
  - task: lint_license_headers
    status: passed
---
@stdlib-bot stdlib-bot added First-time Contributor A pull request from a contributor who has never previously committed to the project repository. Needs Review A pull request which needs code review. labels Mar 19, 2026
@stdlib-bot stdlib-bot removed the Needs Review A pull request which needs code review. label Mar 19, 2026
@Suhaniahirwar20 Suhaniahirwar20 deleted the scalar-dtype branch March 19, 2026 11:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

First-time Contributor A pull request from a contributor who has never previously committed to the project repository.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[RFC]: add ndarray/base/scalar-dtype

2 participants