stdlib-js / stdlib-js/stdlib

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

未关闭
#13,193 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Accepted Feature Maintainers RFC Tracking Issue
主要语言
JavaScript
星标
6k
派生
1.3k
平均合并
1 天 3 小时
30 天内合并 PR
611

描述

### 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
- [x] **`@stdlib/array`** (Top-Level Namespace)
- [x] `@stdlib/array/ctors`
- [x] `@stdlib/array/convert` — *(Docs & Tests Only)*
- [x] `@stdlib/array/convert-same` — *(Docs & Tests Only)*
- [x] `@stdlib/array/dtype`
- [x] `@stdlib/array/dtypes`
- [x] `@stdlib/array/empty` — *(Docs & Tests Only)*
- [x] `@stdlib/array/empty-like` — *(Docs & Tests Only)*
- [x] `@stdlib/array/filled` — *(Docs & Tests Only)*
- [x] `@stdlib/array/filled-by` — *(Docs & Tests Only)*
- [x] `@stdlib/array/from-scalar` — *(Docs & Tests Only)*
- [x] `@stdlib/array/full` — *(Docs & Tests Only)*
- [x] `@stdlib/array/full-like` — *(Docs & Tests Only)*
- [x] `@stdlib/array/linspace` — *(Docs & Tests Only)*
- [x] `@stdlib/array/min-dtype` — **(Requires Code Changes)**
- [x] `@stdlib/array/mostly-safe-casts`
- [x] `@stdlib/array/nans` — *(Docs & Tests Only)*
- [x] `@stdlib/array/nans-like` — *(Docs & Tests Only)*
- [x] `@stdlib/array/next-dtype`
- [x] `@stdlib/array/one-to` — *(Docs & Tests Only)*
- [x] `@stdlib/array/one-to-like` — *(Docs & Tests Only)*
- [x] `@stdlib/array/ones` — *(Docs & Tests Only)*
- [x] `@stdlib/array/ones-like` — *(Docs & Tests Only)*
- [x] `@stdlib/array/pool` — *(Docs & Tests Only)*
- [x] `@stdlib/array/promotion-rules`
- [x] `@stdlib/array/safe-casts`
- [x] `@stdlib/array/same-kind-casts`
- [x] `@stdlib/array/take` — *(Docs & Tests Only)*
- [x] `@stdlib/array/to-fancy` — *(Docs & Tests Only)*
- [x] `@stdlib/array/to-json`
- [x] `@stdlib/array/typed`
- [x] `@stdlib/array/typed-ctors`
- [x] `@stdlib/array/typed-float-ctors`
- [x] `@stdlib/array/typed-real` — *(Docs & Tests Only)*
- [x] `@stdlib/array/typed-real-ctors`
- [x] `@stdlib/array/typed-real-float-ctors`
- [x] `@stdlib/array/zero-to` — *(Docs & Tests Only)*
- [x] `@stdlib/array/zero-to-like` — *(Docs & Tests Only)*
- [x] `@stdlib/array/zeros` — *(Docs & Tests Only)*
- [x] `@stdlib/array/zeros-like` — *(Docs & Tests Only)*

---

- [ ] **`@stdlib/array/base`** (Base Operations Sub-Namespace)
- [x] `@stdlib/array/base/getter` — **(Requires Code Changes)**
- [x] `@stdlib/array/base/setter` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/accessors` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/arraylike2object` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/fancy-slice-assign` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/fancy-slice` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/filter` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/reject` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/resolve-getter` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/resolve-setter` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/reverse` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/take` — *(Docs & Tests Only)*
- [x] `@stdlib/array/base/to-reversed` — *(Docs & Tests Only)*
- [ ] **`@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)*
- [x] `@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)*
- [x] `@stdlib/array/base/assert/is-complex-floating-point-data-type` — *(Docs & Tests Only)*
- [x] `@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)*
- [x] `@stdlib/array/base/assert/is-data-type` — *(Docs & Tests Only)*
- [x] `@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

- [x] I have read and understood the [Code of Conduct](https://github.com/stdlib-js/stdlib/blob/develop/CODE_OF_CONDUCT.md).
- [x] Searched for existing issues and pull requests.
- [x] The issue name begins with `RFC:`.

贡献指南

打开贡献指南

调研方向

Start by reviewing the unchecked packages in the @stdlib/array/base/assert namespace and the related package entries in the checklist, then inspect the existing implementations, tests, README files, and docs/types/index.d.ts. Run the affected package test suites to establish current behavior. Done means the remaining float16/Float16Array documentation, declarations, and test coverage are complete, with runtime changes only where the checklist requires them.

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript, typescript
领域
data, documentation, testing
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
冷清
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。