Skip to content

[RFC]: Complete 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-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/contains(Docs & Tests Only)
      • @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

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions