With downcasting off, EvalNumerical loses small divisors and both ends of the exponent range
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
- 48/100
Direzione di ricerca
Start at EvalNumerical and inspect Number.IsZero, DecimalPrecisionContext, and LostToExponentRange, comparing their behavior with the interval evaluation mentioned in the issue. Use the three expressions and affected Rubi derivative-check cases as regression coverage; done means small divisors and extreme exponent products produce finite, correct results instead of NaN or zero.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
With downcasting off, EvalNumerical loses decimals at three limits:
using var _ = MathS.Settings.DowncastingEnabled.Set(false);
"1 / 1.37^(-200)".EvalNumerical() // NaN, not 2.21e27
"1.37^(-1500) * 1.37^1500".EvalNumerical() // 0, not 1
"(1.37^8000 + 1) / (1.37^8000 + 2)".EvalNumerical() // NaN, not 1.00...
- A small divisor. A divisor below
PrecisionErrorZeroRange(1e-16) counts as zero (Number.IsZero), so the quotient isNaN. - Both ends of the exponent range.
DecimalPrecisionContextisnew EContext(100, ERounding.HalfUp, -100, 1000, false), which bounds exponents to [-100, 1000]. At 100 digits, a decimal below about 1e-199 becomes zero and one above 1e1000 becomes infinite.LostToExponentRangeworks around this for an exact ratio, but a decimal has no exact value to fall back on.
The integrator's derivative check hit these and rejected correct antiderivatives in Rubi's suites (#1338). Five of those were large rational expressions: a factor near 1e-316 times one near 1e+316 came out 0, and a factor flushed to 0 times one saturated to infinity came out NaN. Another divided 2.40e-45 by 2.23e-91. The check now uses interval evaluation (#1497), which has none of these limits.
- Lingua principale
- C#
- Stelle
- 831
- Fork
- 79
- Merge medio
- 2h 21m
- PR unite (30g)
- 504
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 ASC-Community/AngouriMath
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
ASC-Community/AngouriMath#1692 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
ASC-Community/AngouriMath#1690 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
ASC-Community/AngouriMath#1689 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
ASC-Community/AngouriMath#1684 ·
I maintainer di solito rispondono entro 1 giorno
-
Eigenvalues of a matrixAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 57/100
ASC-Community/AngouriMath#1676 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di ASC-Community/AngouriMath
Issue simili
-
S: Untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
space-wizards/space-station-14#46357 ·
I maintainer di solito rispondono entro 1 giorno
-
Versioning_oM: Remove unneeded depeendecy on Test_oMForse già presa @IsakNaslundBh l’ha presa oggi. Apertatype:bug type:compliance
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
MicrosoftLearning/PL-400_Microsoft-Power-Platform-Developer#231 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
joinrpg/joinrpg-net#5313 ·
I maintainer di solito rispondono entro 1 giorno