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.12.16 with SMTP id u16mr1243456qeb.31.1364332305421; Tue, 26 Mar
    2013 14:11:45 -0700 (PDT)
    X-Received: by 10.49.12.16 with SMTP id u16mr1243456qeb.31.1364332305421; Tue, 26 Mar
    2013 14:11:45 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!news.glorb.com!news-out.readnews.com!transi
    t3.readnews.com!209.85.216.87.MISMATCH!t2no17930757qal.0!news-out.google.com!k8
    ni11100qas.0!nntp.google.com!ca1no8463651qab.0!postnews.google.com!glegroupsg20
    00goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Tue, 26 Mar 2013 14:11:45 -0700 (PDT)
    In-Reply-To: <4...@g...com>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.71.44.157;
    posting-account=mvBzhgoAAADiziO82aLj4VEpjexQv3Cn
    NNTP-Posting-Host: 89.71.44.157
    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>
    <5...@g...com>
    <kipoe5$cfe$1@speranza.aioe.org>
    <4...@g...com>
    <kiq26c$aqp$1@speranza.aioe.org>
    <b...@g...com>
    <515168b3$0$26703$65785112@news.neostrada.pl>
    <a...@g...com>
    <5151a5b1$0$1248$65785112@news.neostrada.pl>
    <kis906$ok$1@speranza.aioe.org>
    <e...@g...com>
    <f...@g...com>
    <4...@g...com>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <3...@g...com>
    Subject: Re: Nowoczesne procesory - jak to z nimi jest?
    From: Adam Klobukowski <a...@g...com>
    Injection-Date: Tue, 26 Mar 2013 21:11:45 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:202301
    [ ukryj nagłówki ]

    On Tuesday, 26 March 2013 22:00:55 UTC+1, M.M. wrote:
    > W dniu wtorek, 26 marca 2013 19:02:08 UTC+1 użytkownik Adam Klobukowski napisał:
    >
    > > Każdy procesor który to implementuje (a ogromna większość implementacji
    > > matematyki zmiennoprzecinkowej implementuje ten standard) musi liczyć
    > > dokłądnie tak samo. Jak nie liczy tak samo, to masz np. słynny Pentium bug.
    >
    > Poniższy program na platformach sprzętowych jakie miałem pod ręką
    > zadziałał identycznie. Gdy wysłałem znajomemu żeby skompilował i
    > uruchomił u siebie, wyniki były inne. Ciekawe z czego to wynika.
    >
    > Implementacja tego drobiazgu w kompilatorze nie wydaje się
    > trudna, a póki co wszystko wskazuje na to, że winę za niedokładne
    > obliczenia ponosi kompilator. Jeśli nie jest trudna, to czemu
    > czasami traci dokładność po małej ilości pętli?
    >
    > int main( int argc, char *argv[] ) {
    > const double start = atof(argv[1]);
    > const double stop = atof(argv[2]);
    > const double p = atoi(argv[3]);
    >
    > for( double x=start ; x<=stop ; x+=1.0/1024.0 )
    > if( pow(x,p) != (x*x*x) ) {
    > printf("%lf\n",x);
    > break;
    > }
    >
    > return 0;
    > }
    >
    > Uruchomienie:
    >
    > ./nazwa_programu 0 1000000 3
    >
    > Mój wynik:
    > 92681.901367
    >
    > Szacując na oko, u mnie doszedł daleko, ale innych przerwał dużo
    > szybciej.

    U mnie ten sam wynik. Problemem może być choćby 1.0/1024.0 (bo to różnie może
    kompilator popracować) no i funkcje atof, atoi że nie wspomnę o rzutowaniu. Oprócz
    tego, przy matematyce zmiennoprzecinkowej pow(x,3) wcale nie musi być równe x*x*x.

    AdamK

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: