stdlib-js / stdlib-js/stdlib

[RFC]: tracking issue for missing float16 constants

Open
#9,061 5 comments 0 reactions 0 assignees View on GitHub
difficulty: 1 priority: Low RFC Tracking Issue
Dominant language
JavaScript
Stars
6k
Forks
1.3k
Avg merge
1d 3h
Merged PRs (30d)
611

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.