Uygulamayı indirin
Bir klasör seçin ve düzenlemeden önce ilgili dosyaları okumasını asistandan isteyin. Görevin hedefini ve sınırlarını belirleyin.
İşaretli sıfırları eşit sayarak iki sonlu binary64 arasında temsil edilebilir adım uzaklığını ölçün. Bitişik normal altı sayıları ve iki işareti test edip tamsayı, sonsuz ve NaN değerlerini reddedin, sonucu bağıl hata saymayın.
Bir klasör seçin ve düzenlemeden önce ilgili dosyaları okumasını asistandan isteyin. Görevin hedefini ve sınırlarını belirleyin.
Uyumlu bir endpoint seçin. Kullanılabilir araçlar ve yanıt kalitesi, yapılandırılan modele ve sunucuya bağlıdır.
Değişiklikleri ve komut çıktılarını inceleyin. Sonucu kabul etmeden önce proje kontrollerini çalıştırın; üretilen kod otomatik olarak test edilmiş değildir.
Gerçek davranışı beklenen sonuçla karşılaştırın. Bir kontrol başarısız olursa yeni değişikliklerden önce nedenini araştırın.
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))
Uygulamadan önce inceleyin. Değişiklikleri ve komut çıktılarını inceleyin. Sonucu kabul etmeden önce proje kontrollerini çalıştırın; üretilen kod otomatik olarak test edilmiş değildir.