Stáhněte aplikaci
Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.
Změřte vzdálenost v reprezentovatelných krocích mezi dvěma konečnými hodnotami binary64 se shodou znaménkových nul. Otestujte sousední subnormální čísla a obě znaménka, odmítněte celá čísla, nekonečna a NaN bez výkladu jako relativní chyby.
Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.
Zvolte kompatibilní endpoint. Dostupné nástroje a kvalita odpovědí závisí na nastaveném modelu a serveru.
Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
import math, struct
def ulp_distance(a, b):
if any(type(x) is not float or not math.isfinite(x) for x in (a, b)):
raise ValueError("ulp.finite")
def key(value):
bits = struct.unpack(">Q", struct.pack(">d", value))[0]
magnitude = bits & ((1 << 63)-1)
return (1 << 63)-magnitude if bits >> 63 else (1 << 63)+magnitude
return abs(key(a)-key(b))
Před použitím zkontrolujte. Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.