Specify the reduced-interval accuracy of trigonometric polynomials
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- compilers, performance, testing-qa
Direzione di ricerca
Start with std/math/trig.wave:69, the reported small-angle probes, and the related large-angle work in #600. Before changing code, discuss the proposed absolute, relative, and ULP contract with @LunaStev, including behavior near zeros and poles. Done means the bounds are agreed, independent high-precision fixtures cover interval and quadrant boundaries, the reduced-interval approximation meets the contract, and the #600 regressions plus separate f32 wrapper checks still pass.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Motivation
Small-angle testing avoids the large-angle reduction problem fixed in #600. At x=0.75, sin_f64 is 92 ULP from a 100-digit nearest reference; near pi/4 it is 184 ULP. cos differs by 4/10 ULP for those inputs. No correct-rounding contract is currently promised.
Starting point: std/math/trig.wave:69.
Validation
Audited canonical Wave 540728c2eb6cc12f5c69c3fb3fdb96e07ba059a4 (0.0.1-alpha-dev), whose tree matches the local checkout. Validation: Executed exact-bit small-angle probes and high-precision oracle; independent of huge-argument phase loss. Executed compiler probes use the matching checkout-built compiler and std on Linux amd64 (Rust 1.89.0 / LLVM 21.1.8). Source/header or mocked checks are not native execution on another OS.
Scope
Set an explicit error envelope for the reduced-interval sin/cos polynomial and resulting tan behavior. Improve the approximation only to meet that agreed goal; do not reopen the already replaced large-angle reduction algorithm as the same defect.
Related: #600. These links do not claim those broader or completed scopes are unfinished.
Design discussion required
This issue records a proposal or an unresolved contract; it is not approval to choose new semantics. Please mention @LunaStev to discuss the design before starting implementation.
Completion criteria
- Define small/reduced-interval absolute/relative/ULP bounds and behavior near zeros/poles.
- Use independent high-precision fixtures at interval/quadrant boundaries.
- Retain #600 large-angle and non-finite regressions; verify f32 wrappers separately.
- Lingua principale
- Rust
- Stelle
- 56
- Fork
- 21
- Merge medio
- 20h 49m
- PR unite (30g)
- 45
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di wavefnd/Wave
-
Reject unrepresentable POSIX listener descriptors before Unix-domain acceptForse già presa @ShahadatTest l’ha presa 2 giorni fa. Apertabug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
wavefnd/Wave#1082 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
bug help wanted
Difficoltà 4/5 3-5 giorni Idoneità per principianti 53/100
I maintainer di solito rispondono entro 1 giorno
-
bug build help wanted
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
I maintainer di solito rispondono entro 1 giorno
-
bug ci help wanted
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di wavefnd/Wave
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/datafusion-iceberg#100 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: cua-driver skill fails Agent Skills frontmatter validationForse già presa @Mearman l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
area/tools bug session-analysis
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
oracle/rust-oracledb#66 ·
-
`PrimitiveArray::validate_decimal_precision` rejects every decimal array with a negative scaleAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno