stdlib-js / stdlib-js/stdlib

[RFC]: tracking issue for missing float16 constants

Aperta
#9,061 5 commenti 0 reazioni 0 assegnatari Vedi su GitHub
difficulty: 1 priority: Low RFC Tracking Issue
Lingua principale
JavaScript
Stelle
6k
Fork
1.3k
Merge medio
1g 3h
PR unite (30g)
611

Descrizione

## Description

> What is the feature you are proposing?

A tracking issue to coordinate the implementation of missing `constants/float16/*` packages. Currently, multiple contributors are submitting PRs for float16 constants without visibility into what's already being worked on, leading to duplicate efforts.

## Rationale

> Why is this feature important?

1. **Prevent duplicate PRs** - Contributors can see what's already being worked on
2. **Organize the work** - Clear checklist of what needs to be done
3. **Reduce maintainer burden** - Less time spent reviewing duplicate PRs

There are currently multiple open PRs for the same constants (e.g., `ln-two` has #8972 and #9028, `log2-e` has #8991 and #9029).

## Proposed Solution

> How do you propose to implement this feature?

Create a checklist of all float16 constants that exist in `float32` but not in [float16](cci:7://file:///home/opbotxd/Desktop/vscode/dev/gsoc/stdlib/lib/node_modules/@stdlib/number/float16:0:0-0:0). Contributors can submit PRs referencing this issue.

## Constants to Implement

The following constants exist in `float32` but are missing from [float16](cci:7://file:///home/opbotxd/Desktop/vscode/dev/gsoc/stdlib/lib/node_modules/@stdlib/number/float16:0:0-0:0):

### Mathematical Constants
- [ ] `glaisher-kinkelin` - Glaisher-Kinkelin constant
- [ ] `sqrt-half` - Square root of 1/2
- [ ] `sqrt-half-pi` - Square root of π/2
- [ ] `sqrt-pi` - Square root of π
- [ ] `sqrt-three` - Square root of 3
- [ ] `sqrt-two-pi` - Square root of 2π

### Logarithmic Constants
- [x] `ln-half` - Natural logarithm of 1/2
- [ ] `ln-pi` - Natural logarithm of π
- [ ] `ln-ten` - Natural logarithm of 10
- [ ] `ln-two` - Natural logarithm of 2
- [ ] `ln-two-pi` - Natural logarithm of 2π
- [ ] `ln-sqrt-two-pi` - Natural logarithm of √(2π)
- [ ] `half-ln-two` - Half of natural logarithm of 2
- [ ] `log10-e` - Base 10 logarithm of e
- [ ] `log2-e` - Base 2 logarithm of e

### Technical/Format Constants
- [x] `abs-mask` - Absolute value mask
- [x] `nan` - NaN value
- [ ] `fourth-root-eps` - Fourth root of machine epsilon
- ~~[ ] `gamma-lanczos-g` - Lanczos approximation g value~~
- [ ] `min-base10-exponent` - Minimum base 10 exponent
- [x] `min-base10-exponent-subnormal` - Minimum base 10 exponent (subnormal)
- [x] `max-base10-exponent-subnormal` - Maximum base 10 exponent (subnormal)
- [ ] `min-base2-exponent-subnormal` - Minimum base 2 exponent (subnormal)

### Factorial/Sequence Constants
- [ ] `max-nth-factorial` - Maximum nth factorial
- [ ] `max-nth-double-factorial` - Maximum nth double factorial
- [ ] `max-safe-fibonacci` - Maximum safe Fibonacci number
- [ ] `max-safe-lucas` - Maximum safe Lucas number
- [ ] `max-safe-nth-fibonacci` - Maximum safe nth Fibonacci
- [ ] `max-safe-nth-lucas` - Maximum safe nth Lucas
- [ ] `max-safe-nth-double-factorial` - Maximum safe nth double factorial
- [ ] `max-safe-nth-factorial` - Maximum safe nth factorial
- [ ] `max-safe-nth-tribonacci` - Maximum safe nth Tribonacci

---

### Related Issues

No existing tracking issue found for float16 constants.

### 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:`.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by comparing the existing constants/float16/* packages with the corresponding float32 constants to choose one unchecked item. Confirm whether that constant is already covered by an open pull request, then implement the selected package and update this checklist when the float16 constant is complete.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.