eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNowoczesne procesory - jak to z nimi jest?Re: Nowoczesne procesory - jak to z nimi jest?
  • X-Received: by 10.49.72.225 with SMTP id g1mr166634qev.36.1364222116338; Mon, 25 Mar
    2013 07:35:16 -0700 (PDT)
    X-Received: by 10.49.72.225 with SMTP id g1mr166634qev.36.1364222116338; Mon, 25 Mar
    2013 07:35:16 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!goblin2!goblin.stu.neva.ru!cyclone01.ams2.highwinds-media.com!voer-me.
    highwinds-media.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!fe
    ed-me.highwinds-media.com!t2no15832358qal.0!news-out.google.com!k8ni11100qas.0!
    nntp.google.com!ca1no6353296qab.0!postnews.google.com!glegroupsg2000goo.googleg
    roups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 25 Mar 2013 07:35:16 -0700 (PDT)
    In-Reply-To: <kipm0j$5bi$1@speranza.aioe.org>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.110.253;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 178.36.110.253
    References: <5148d9db$0$26710$65785112@news.neostrada.pl>
    <4...@g...com>
    <1...@g...com>
    <kihto6$q3f$1@mx1.internetia.pl>
    <c...@g...com>
    <3...@g...com>
    <a...@g...com>
    <e...@g...com>
    <7...@g...com>
    <kipkjv$uf$1@speranza.aioe.org>
    <5...@g...com>
    <kipm0j$5bi$1@speranza.aioe.org>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <5...@g...com>
    Subject: Re: Nowoczesne procesory - jak to z nimi jest?
    From: "M.M." <m...@g...com>
    Injection-Date: Mon, 25 Mar 2013 14:35:16 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 3631
    Xref: news-archive.icm.edu.pl pl.comp.programming:202278
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: