eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingBłędny epsilon - this is not a bug, this is ? › Re: Błędny epsilon - this is not a bug, this is ?
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!news.supermedia.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!no
    t-for-mail
    From: Michoo <m...@v...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Błędny epsilon - this is not a bug, this is ?
    Date: Mon, 05 Nov 2012 13:10:38 +0100
    Organization: Netia S.A.
    Lines: 60
    Message-ID: <k78amt$rth$1@mx1.internetia.pl>
    References: <50924bb1$0$1308$65785112@news.neostrada.pl>
    <a...@g...com>
    <50926d86$0$1216$65785112@news.neostrada.pl>
    <k6tusp$elk$1@node1.news.atman.pl>
    <5092979f$0$1208$65785112@news.neostrada.pl>
    <k6u5vk$cf9$1@node2.news.atman.pl>
    <5092a72c$0$1311$65785112@news.neostrada.pl>
    <k6u98u$fjc$1@node2.news.atman.pl>
    <5092aefd$0$1232$65785112@news.neostrada.pl>
    <b...@g...com>
    <5092c4d8$0$1222$65785112@news.neostrada.pl>
    <k700o6$52t$1@news.task.gda.pl>
    <50939638$0$26708$65785112@news.neostrada.pl>
    <k71ct6$fjv$1@mx1.internetia.pl>
    <5094e05f$0$1312$65785112@news.neostrada.pl>
    <k73isd$sfj$1@mx1.internetia.pl>
    <50958b34$0$26700$65785112@news.neostrada.pl>
    <k783go$q3k$1@mx1.internetia.pl>
    <5097a794$0$1299$65785112@news.neostrada.pl>
    NNTP-Posting-Host: 83.238.197.12
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: mx1.internetia.pl 1352117789 28593 83.238.197.12 (5 Nov 2012 12:16:29 GMT)
    X-Complaints-To: a...@i...pl
    NNTP-Posting-Date: Mon, 5 Nov 2012 12:16:29 +0000 (UTC)
    In-Reply-To: <5097a794$0$1299$65785112@news.neostrada.pl>
    X-Tech-Contact: u...@i...pl
    User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.6esrpre) Gecko/20120817
    Icedove/10.0.6
    X-Server-Info: http://www.internetia.pl/
    Xref: news-archive.icm.edu.pl pl.comp.programming:200494
    [ ukryj nagłówki ]

    On 05.11.2012 12:48, slawek wrote:
    >
    > Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości grup
    > dyskusyjnych:k783go$q3k$...@m...internetia.pl...
    >> Jest, ale wynika z czego innego niż myślisz.
    >
    > Pożycz szklanej kuli - tej dzięki której wiesz co ja myślę. ;)
    >
    >> W związku z tym:
    >> - 2.2E-16 nie jest najmniejszą wartością jaka na FPU x86 spowoduje
    >> zajście nierówności. Jest najmniejszą taką wartością w typie double.
    >
    > Typ double (tj. zmienne tego typu) sam z siebie się nie potrafią dodawać.

    Ale można je dodać zgodnie ze standardem i niezgodnie ze standardem.

    >
    >> float.h jest częścią standardu i odnosi się do standardowych typów
    >
    > Tj. o jakim standardzie piszesz?

    ISO/IEC 9899:TC3

    Tu jest nawet napisane znacznie dobitniej co ma być w EPS_DOUBLE:

    The values given in the following list shall be replaced by constant
    expressions with implementation-defined (positive) values that are less
    than or equal to those shown:

    - the difference between 1 and the least value greater than 1 that is
    representable in the given floating point type, b1- p

    Więc powyższe nie zostawia już chyba wątpliwości, która wartość jest
    poprawna?

    >
    >> I zazwyczaj nie ma to znaczenia. Nikt nie robi poważnej numeryki
    >> opierając się o to, że na x86 połowa epsilona double wystarcza.
    >
    > Wyznanie, że mało znasz ludzi robiących obliczenia numeryczne,

    Nie aż tak dużo - to fakt.

    > a w
    > szczególności wśród tych osób nikogo takiego co przykłada jakiekolwiek
    > znaczenie do wartości epsilon?

    Nie. Epsilon jako dokładność obliczeń (do czego się odwoływałeś) używa
    się ewentualnie w opisie algorytmu. Jako wartość w programie przyjmuje
    się różne EPS (odległość miedzy wartościami) zależnie od zakresu na
    którym się pracuje, zazwyczaj do określenia relacji równoważności i są
    to setki albo tysiące razy większe wartości niż EPS_DOUBLE podczas
    liczenia na double.

    W niektórych przypadkach gdy obliczenia są robione w okolicy "granic"
    typów aby zachować informację o rozmiarze błędu używa się przedziałów.

    --
    Pozdrawiam
    Michoo

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: