Anonymní profil Anonymní uživatel – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Anonymní uživatel – Programujte.comAnonymní profil Anonymní uživatel – Programujte.com

 

Příspěvky odeslané z IP adresy 147.229.145.–

Clock
C / C++ › Metasoubory
20. 11. 2008   #90211

To MaS : Okraje oken, ikony a ostatní podobné věci systém obsluhuje ve funkci DefWindowProc, pokud si je aplikace nekreslí sama. To dovoluje nastavit a jednotně měnit vzhled všech oken ve vlastnostech zobrazení.

Anonymní uživatel
C / C++ › Jak spočítat přesně a spoleh…
15. 4. 2008   #71366

To Mixxy :
Díky za odpověď. Trochu jsem pátral a problém je v tom, že podpora pro long double asi nejde ve VC8 zapnout. Vypadá to, že long double se mapuje na double, viz http://blogs.msdn.com/ericflee/archive/2004/06/10/152852.aspx
Zkusil jsem použít long double prototypy funkcí powl, expl, logl dle
http://msdn2.microsoft.com/en-us/library/9cx8xs15.aspx, ale bez úspěchu.
V tuto chvíli vidím čtyři řešení:
- použít jiný překladač, který nativně podporuje long double,
- zkusit některou z knihoven pro volitelnou přesnost výpočtu, např. GMP,
- odmocninu naprogramovat v assembleru a tím ztratit přenositelnost,
- použít jeden krok Newtonovy metody s rizikem, že nesplním podmínky konvergence a přesnost se může i zhoršit.

Pro mě nejlíp připadá v úvahu poslední možnost, takže jsem zkusil do výše uvedeného zdrojáku přidat následující řádek, zkusil i jiné odmocniny a zatím to vypadá v pořádku.

y = y - ( pow( y, n ) - x ) / pow( y, n - 1 ) / n;

//y = 4238549808285.3003;

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý