Integer isclose can disagree with the tolerance equation
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Reproduce the two examples with array_api_extra.isclose and array_api_strict, then inspect the array-agnostic path and the Notes describing the tolerance equation. Clarify the intended integer semantics, including behavior for large int64/uint64 values; done means the chosen behavior is documented and the reported disagreements have corresponding coverage.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
On current main, the array-agnostic path gives two results that disagree with the displayed tolerance equation when using array_api_strict:
import array_api_extra as xpx
import array_api_strict as xp
def check(a, b, atol, rtol):
return bool(xpx.isclose(xp.asarray(a, dtype=xp.int8),
xp.asarray(b, dtype=xp.int8),
atol=atol, rtol=rtol))
print(check(0, 100, 30, 1.0)) # False; 100 <= 30 + 100
print(check(15, 10, 0, 0.4)) # True; 5 > 0.4 * 10
The first result appears to come from integer overflow in the tolerance sum; the second from truncating 1/rtol to an integer. The Notes currently introduce the tolerance equation for floating-point values. For integer inputs, should the agnostic path compare exact integer differences against the supplied scalar tolerances, or follow NumPy-like floating evaluation (including rounding large int64/uint64 values)? That choice affects a fix that also preserves large-integer comparisons.
- Vorherrschende Sprache
- Python
- Sterne
- 33
- Forks
- 33
- Ø Merge
- 1 Std. 1 Min.
- Gemergte PRs (30 T.)
- 37
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus data-apis/array-api-extra
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
data-apis/array-api-extra#1005 · 11 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement new function
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
data-apis/array-api-extra#992 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
data-apis/array-api-extra#1006 ·
Maintainer antworten meist innerhalb von 1 Tag
-
testing
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
data-apis/array-api-extra#901 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
testing upstream issue
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
data-apis/array-api-extra#900 · 8 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in data-apis/array-api-extra
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
BasedHardware/omi#20271 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 92/100
openai/openai-cookbook#3153 ·
Maintainer antworten meist innerhalb von 1 Tag
-
cvss-severity:high devguard l3montree-cybersecurity/devguard/devguard pkg:golang/github.com/l3montree-dev/devguard risk:low state:open
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
l3montree-dev/devguard#3146 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
-
bug confirmed issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
open-webui/open-webui#31849 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag