-
Data: 2013-03-25 15:35:16
Temat: Re: Nowoczesne procesory - jak to z nimi jest?
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu poniedziałek, 25 marca 2013 15:12:32 UTC+1 użytkownik AK napisał:
> Np. dlatego ze porownujesz liczby zmiennoprzecinkowe
> "na ostro" a tego nie wolno robic (prawie) nigdy !
Nie chciałem powiedzieć ani że wolno, ani że nie wolno.
Chcę powiedzie tylko to, że jeśli zarówno argumenty funkcji
jak i zwracane wartości są sumą (całkowitych) potęg dwójki i
mieszczą się w zakresie liczby zmiennoprzecinkowej, to nie
ma żądnych ważnych powodów, aby procesor podał wartość
przybliżoną - wtedy może podać dokładną.
Jeśli w powyższych warunkach jedna para: kompilator, procesor
daje dokładną wartość, a druga nie daje, to chcę powiedzieć
tylko to, że ta pierwsza działa trochę dokładniej.
Niemniej temat czy wolno czy nie wolno jest ciekawy, nadawałby
się na osobny wątek. Mam taki jeden program, w którym
funkcja działa pod warunkiem że suma jej argumentów równa
się jeden. W trakcie długotrwałych obliczeń, algorytmem
ewolucyjnym przerzucam z jednego argumentu do drugiego
jakąś wartość. Np.
a = 0.75
b = 0.25
tmp = a * 0.25;
a -= tmp;
b += tmp;
Okazuje się, że często działa to zgodnie z oczekiwaniami, czyli
strata dokładności po dobie obliczeń jest w okolicach zera, albo
wręcz jest równa zero. Niestety na niektórych procesorach muszę
co ileś iteracji robić poprawkę straconej dokładności...
Niby można to wytłumaczyć tym, że na typie zmiennoprzecinkowym mamy
obliczenia przybliżone. Ale jeśli procesor/kompilator akurat dla jakiś
argumentów może dać dokładny wynik a nie daje... to ja jakoś wolę nazywać
gorszą jakością procesora czy kompilatora.
Pozdrawiam
Następne wpisy z tego wątku
- 25.03.13 15:53 AK
- 25.03.13 16:03 Edek Pienkowski
- 25.03.13 16:10 Edek Pienkowski
- 25.03.13 16:15 AK
- 25.03.13 16:21 Edek Pienkowski
- 25.03.13 16:22 Michoo
- 25.03.13 16:30 wloochacz
- 25.03.13 16:31 M.M.
- 25.03.13 18:40 AK
- 25.03.13 19:36 M.M.
- 26.03.13 10:21 darekm
- 26.03.13 12:25 M.M.
- 26.03.13 14:42 darekm
- 26.03.13 14:48 AK
- 26.03.13 14:57 firr kenobi
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO