abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 1
    včera 14:22 | Zajímavý software

    Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.

    Ladislav Hagara | Komentářů: 5
    včera 13:22 | Komunita

    První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní

    … více »
    Ladislav Hagara | Komentářů: 0
    14.7. 19:33 | Nová verze

    3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:55 | Zajímavý software

    SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.

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

    Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…

    Ladislav Hagara | Komentářů: 0
    14.7. 04:22 | Zajímavý projekt

    Na Crowd Supply běží kampaň na podporu open source čtečky elektronických knih Open Book Touch. Postavena je na ESP32-S3. Má 4,26palcový dotykový e-papírový displej s rozlišením 480×800 pixelů, podsvícení, slot na microSD kartu. Cena je 149 dolarů a poštovné 12 dolarů. Dodání je plánováno na duben 2027.

    Ladislav Hagara | Komentářů: 8
    13.7. 18:00 | IT novinky

    Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.

    Ladislav Hagara | Komentářů: 5
    13.7. 14:00 | Komunita

    FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2131 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Porovnanie desatinnych cisel

    25.5.2006 14:54 robob | skóre: 12 | blog: robob
    Porovnanie desatinnych cisel
    Přečteno: 236×
    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: 63 | 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.