[RFC]: add float16 support across the `@stdlib/array` namespace
- 主要言語
- JavaScript
- スター
- 6k
- フォーク
- 1.3k
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 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
- 見積もり時間
- 1週間以上
- 活発さ
- 静か
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 25/100