Skip to content

[RFC]: add float16 support across the @stdlib/array namespace #13193

Description

@gururaj1512

Description

This issue tracks the work required to complete first-class float16 data type integration across the @stdlib/array namespace.
Foundational core registries (such as dtypes, dtype, ctors, safe-casts, and promotion-rules) have already been updated to support the new float16 type. Because of this:

  1. Only 3 packages require runtime code modifications (logic changes) to support float16.
  2. All other pending packages work automatically at runtime via delegation to the already-updated foundational utilities. However, they still require JSDoc example additions, TypeScript declaration updates (docs/types/index.d.ts), README modifications, and test suite coverage expansion to explicitly verify and document float16 / Float16Array support.
    Below is the complete hierarchical and alphabetical list of packages in the namespace, annotated with their status and task type.

Package Checklist

  • @stdlib/array (Top-Level Namespace)
    • @stdlib/array/ctors
    • @stdlib/array/convert(Docs & Tests Only)
    • @stdlib/array/convert-same(Docs & Tests Only)
    • @stdlib/array/dtype
    • @stdlib/array/dtypes
    • @stdlib/array/empty(Docs & Tests Only)
    • @stdlib/array/empty-like(Docs & Tests Only)
    • @stdlib/array/filled(Docs & Tests Only)
    • @stdlib/array/filled-by(Docs & Tests Only)
    • @stdlib/array/from-iterator(Docs & Tests Only)
    • @stdlib/array/from-scalar(Docs & Tests Only)
    • @stdlib/array/full(Docs & Tests Only)
    • @stdlib/array/full-like(Docs & Tests Only)
    • @stdlib/array/linspace(Docs & Tests Only)
    • @stdlib/array/min-dtype(Requires Code Changes)
    • @stdlib/array/mostly-safe-casts
    • @stdlib/array/nans(Docs & Tests Only)
    • @stdlib/array/nans-like(Docs & Tests Only)
    • @stdlib/array/next-dtype
    • @stdlib/array/one-to(Docs & Tests Only)
    • @stdlib/array/one-to-like(Docs & Tests Only)
    • @stdlib/array/ones(Docs & Tests Only)
    • @stdlib/array/ones-like(Docs & Tests Only)
    • @stdlib/array/place(Docs & Tests Only)
    • @stdlib/array/pool(Docs & Tests Only)
    • @stdlib/array/promotion-rules
    • @stdlib/array/put(Docs & Tests Only)
    • @stdlib/array/reviver(Requires Code Changes)
    • @stdlib/array/safe-casts
    • @stdlib/array/same-kind-casts
    • @stdlib/array/slice(Docs & Tests Only)
    • @stdlib/array/take(Docs & Tests Only)
    • @stdlib/array/to-fancy(Docs & Tests Only)
    • @stdlib/array/to-json
    • @stdlib/array/typed
    • @stdlib/array/typed-ctors
    • @stdlib/array/typed-dtypes(Docs & Tests Only)
    • @stdlib/array/typed-float-ctors
    • @stdlib/array/typed-float-dtypes(Docs & Tests Only)
    • @stdlib/array/typed-real(Docs & Tests Only)
    • @stdlib/array/typed-real-ctors
    • @stdlib/array/typed-real-dtypes(Docs & Tests Only)
    • @stdlib/array/typed-real-float-ctors
    • @stdlib/array/typed-real-float-dtypes(Docs & Tests Only)
    • @stdlib/array/zero-to(Docs & Tests Only)
    • @stdlib/array/zero-to-like(Docs & Tests Only)
    • @stdlib/array/zeros(Docs & Tests Only)
    • @stdlib/array/zeros-like(Docs & Tests Only)

  • @stdlib/array/base (Base Operations Sub-Namespace)
    • @stdlib/array/base/getter(Requires Code Changes)
    • @stdlib/array/base/setter
    • @stdlib/array/base/assert (Base Assertions Sub-Namespace)
      • @stdlib/array/base/assert/has-almost-equal-values(Docs & Tests Only)
      • @stdlib/array/base/assert/has-almost-same-values(Docs & Tests Only)
      • @stdlib/array/base/assert/has-equal-values(Docs & Tests Only)
      • @stdlib/array/base/assert/has-same-values(Docs & Tests Only)
      • @stdlib/array/base/assert/is-accessor-array(Docs & Tests Only)
      • @stdlib/array/base/assert/is-boolean-data-type(Docs & Tests Only)
      • @stdlib/array/base/assert/is-booleanarray(Docs & Tests Only)
      • @stdlib/array/base/assert/is-complex-floating-point-data-type(Docs & Tests Only)
      • @stdlib/array/base/assert/is-complex-typed-array(Docs & Tests Only)
      • @stdlib/array/base/assert/is-complex128array(Docs & Tests Only)
      • @stdlib/array/base/assert/is-complex64array(Docs & Tests Only)
      • @stdlib/array/base/assert/is-data-type(Docs & Tests Only)
      • @stdlib/array/base/assert/is-floating-point-data-type(Docs & Tests Only)
      • @stdlib/array/base/assert/is-integer-data-type(Docs & Tests Only)
      • @stdlib/array/base/assert/is-mostly-safe-data-type-cast(Docs & Tests Only)
      • @stdlib/array/base/assert/is-numeric-data-type(Docs & Tests Only)
      • @stdlib/array/base/assert/is-real-data-type(Docs & Tests Only)
      • @stdlib/array/base/assert/is-real-floating-point-data-type(Docs & Tests Only)
      • @stdlib/array/base/assert/is-safe-data-type-cast(Docs & Tests Only)
      • @stdlib/array/base/assert/is-same-kind-data-type-cast(Docs & Tests Only)
      • @stdlib/array/base/assert/is-signed-integer-data-type(Docs & Tests Only)
      • @stdlib/array/base/assert/is-sorted-ascending(Docs & Tests Only)
      • @stdlib/array/base/assert/is-unsigned-integer-data-type(Docs & Tests Only)

Related Issues

Related issues # , # , and # .

Questions

No.

Other

No.

Checklist

  • I have read and understood the Code of Conduct.
  • Searched for existing issues and pull requests.
  • The issue name begins with RFC:.

Metadata

Metadata

Assignees

No one assigned

    Labels

    AcceptedRFC feature request which has been accepted.FeatureIssue or pull request for adding a new feature.MaintainersIssue which should be handled by project maintainers & is not recommended for external contributors.RFCRequest for comments. Feature requests and proposed changes.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions