abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    14.6. 12:11 | IT novinky

    Google Blog ČR informuje, že mobilní aplikaci Gemini a NotebookLM lze používat už také v Česku.

    Ladislav Hagara | Komentářů: 18
    14.6. 11:33 | Nová verze

    Byla vydána nová major verze 8 duálně licencovaného open source frameworku JUCE (Wikipedie, GitHub) pro vývoj multiplatformních audio aplikací.

    Ladislav Hagara | Komentářů: 0
    14.6. 11:11 | IT novinky

    Od 18. června bude možné předobjednat notebook DC-ROMA RISC-V LAPTOP II od společnosti DeepComputing s osmijádrovým 64-bit RISC-V AI CPU a s předinstalovaným Ubuntu.

    Ladislav Hagara | Komentářů: 2
    13.6. 23:55 | Nová verze

    Byla vydána verze 1.79.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    13.6. 14:33 | Zajímavý článek

    Byly zveřejněny výsledky průzkumu (infografika) mezi uživateli FreeBSD.

    Ladislav Hagara | Komentářů: 0
    13.6. 13:22 | IT novinky

    Na konferenci DevConf.CZ 2024 je na stánku Furi Labs prezentován linuxový telefon FuriPhone FLX1. Jeho cena 499 dolarů.

    Ladislav Hagara | Komentářů: 17
    13.6. 00:11 | Nová verze

    Bylo vydáno Eclipse IDE 2024-06 aneb Eclipse 4.32. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 1
    12.6. 22:00 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-2 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 0
    12.6. 15:44 | Nová verze

    Po roce od vydání verze 15.5 bylo vydáno openSUSE Leap 15.6. Přehled novinek v nejnovější verzi této linuxové distribuce v oznámení o vydání a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    12.6. 12:44 | Nová verze

    Byla vydána nová verze 256 správce systému a služeb systemd (GitHub). Nově mimo jiné s run0 jako alternativou k sudo.

    Ladislav Hagara | Komentářů: 23
    Rozcestník

    Dotaz: Porovnanie desatinnych cisel

    25.5.2006 14:54 robob | skóre: 12 | blog: robob
    Porovnanie desatinnych cisel
    Přečteno: 155×
    Zdravim. Potreboval by som numericky korektne porovnanie desatinnych cisel v programe. Desatinne cisla sa do binarnej formy prevedu s urcitou chybou. To je znamy fakt. Ako teda porovnat ci sa dve cisla "zhruba" rovnaju?

    Uvediem priklad a moje riesenie, kde mam porovnat if (t == det):
    #define EPS 1e-08
    double dxa, dya, dxb, dyb, dx1, dy1, det, t, det_eps, t_eps;
    
    det = dxa * dyb - dya * dxb;
    det_eps = EPS * (abs(dxa) + abs(dyb) + abs(dya) + abs(dxb));
    
    t = dx1 * dyb - dy1 * dxb;
    t_eps = EPS * (abs(dx1) + abs(dyb) + abs(dy1) + abs(dxb));
    
    if (abs(t-det) < abs(t_eps) + abs(det_eps))
    
    Matematicke oddovodnenie tu radsej neuvadzam.

    Budem vdacny za kazdy odkaz na nejaku literaturu na webe, rsp. za Vase riesenie.

    Odpovědi

    25.5.2006 15:10 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Porovnanie desatinnych cisel
    Nechápem prečo tam čaruješ. Akú má chybu toto?
    #define EPS 1e-8
    #define FLOAT_EQUAL(x,y) (abs((x)-(y))<EPS)
    
    if (FLOAT_EQUAL(t,det)) ...
    25.5.2006 15:24 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Porovnanie desatinnych cisel
    miesto EPS treba pouzivat "strojove epsilon"
    v gcc je to tusim float.h, konstanty FLT_EPSILON, DBL_EPSILON, LDBL_EPSILON
    25.5.2006 15:30 robob | skóre: 12 | blog: robob
    Rozbalit Rozbalit vše Re: Porovnanie desatinnych cisel
    Takze konkretny priklad:

    x = 1000000000.1 a y = 4.5

    det = x * y

    Tu zrejme asi nebude korektne eps = 1e-8 pre det, ci ano ? Chyba pri cisle y sa totiz zmnohonasobi a uz to nebude stare dobre cislo 1e-8.
    vdusek avatar 25.5.2006 15:21 vdusek | skóre: 27
    Rozbalit Rozbalit vše Re: Porovnanie desatinnych cisel
    Pokud to je reálné (vzhledem k počtu desetinných míst a délce čísla) tak bych desetinná čísla převedl na vynásobením na integer a pak porovnával. Záleží, jaké je původní zadání, resp. jak ta desetinná čísla vznikají. Třeba by bylo zajímavé počítat od začátku v integer s tím, že výsledek na konci podělím....
    25.5.2006 15:36 robob | skóre: 12 | blog: robob
    Rozbalit Rozbalit vše Re: Porovnanie desatinnych cisel
    V skutocnosti to naozaj mozem obist a robit v celych cislach (prenasobenim). Chcel som poznat nazor niekoho, kto trochu numericky premysla.
    25.5.2006 15:39 robob | skóre: 12 | blog: robob
    Rozbalit Rozbalit vše Re: Porovnanie desatinnych cisel
    Ak by niekoho zaujimalo, tak som nasiel na webe toto: Why doesn't my floating-point comparison work?
    25.5.2006 16:03 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
    Rozbalit Rozbalit vše Re: Porovnanie desatinnych cisel
    Ty zdrojáky jsou do soutěže o co nejméně efektivní porovnání dvou floatů? :-D

    Jinak doporučuji k pozornosti nový seriál Pavla Tišnovského Fixed point arithmetic.
    When your hammer is C++, everything begins to look like a thumb.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.