-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.task.gda.pl!news.dialog.net.pl!not-for-mail
From: Tomasz Sowa <t...@N...ttmath.org>
Newsgroups: pl.comp.programming
Subject: Re: Błędny epsilon - this is not a bug, this is ?
Date: Mon, 05 Nov 2012 21:35:47 +0100
Organization: Dialog Net
Lines: 64
Message-ID: <k797v2$t98$1@news.dialog.net.pl>
References: <50924bb1$0$1308$65785112@news.neostrada.pl>
<k72sqt$gq$1@news.dialog.net.pl>
<509505f2$0$1317$65785112@news.neostrada.pl>
<k734vm$43g$1@news.dialog.net.pl>
<509533d1$0$26687$65785112@news.neostrada.pl>
NNTP-Posting-Host: dynamic-78-9-153-85.ssp.dialog.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: news.dialog.net.pl 1352147746 29992 78.9.153.85 (5 Nov 2012 20:35:46 GMT)
X-Complaints-To: a...@d...net.pl
NNTP-Posting-Date: Mon, 5 Nov 2012 20:35:46 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:16.0) Gecko/20121101
Thunderbird/16.0.2
In-Reply-To: <509533d1$0$26687$65785112@news.neostrada.pl>
Xref: news-archive.icm.edu.pl pl.comp.programming:200507
[ ukryj nagłówki ]On 2012.11.03 16:10, slawek wrote:
>> Bo popełniasz błąd który się propaguje w każdej iteracji
>> algorytmu.
>
> Nie ma błędu. Za każdym razem jest na nowo sprawdzanie 1.0+eps > 1.0,
> tj. pętla while(1.0 + eps > 1.0) {...}
a no, tak sądziłem, sprawdź poniższy program
#include <iostream>
#include <stdint.h>
#include <iomanip>
template<typename float_t, typename int_t>
float_t machine_eps()
{
union
{
float_t f;
int_t i;
} one, one_plus, little, last_little;
one.f = 1.0;
little.f = 1.0;
last_little.f = little.f;
while(true)
{
one_plus.f = one.f;
one_plus.f += little.f;
if( one.i != one_plus.i )
{
last_little.f = little.f;
little.f /= 2.0;
}
else
{
return last_little.f;
}
}
}
int main()
{
std::cout << "machine epsilon:\n";
std::cout << "float: " << std::setprecision(18)
<< machine_eps<float, uint32_t>() << std::endl;
std::cout << "double: " << std::setprecision(18)
<< machine_eps<double, uint64_t>() << std::endl;
}
/home/tomek/roboczy/test$ g++ -o test test.cpp && ./test
machine epsilon:
float: 1.1920928955078125e-07
double: 2.22044604925031308e-16
ale to oczywiście tylko aproksymacja
--
Tomek
http://www.ttmath.org
Następne wpisy z tego wątku
- 05.11.12 22:11 kenobi
- 06.11.12 00:16 slawek
- 06.11.12 00:19 Tomasz Sowa
- 06.11.12 00:53 Roman W
- 06.11.12 00:57 Roman W
- 06.11.12 03:28 bartekltg
- 06.11.12 06:35 Roman W
- 06.11.12 10:46 slawek
- 06.11.12 11:31 AK
- 06.11.12 11:43 Adam Wysocki
- 06.11.12 11:48 AK
- 06.11.12 11:50 Michoo
- 06.11.12 12:02 Michoo
- 06.11.12 12:05 AK
- 06.11.12 13:31 Roman W
Najnowsze wątki z tej grupy
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
Najnowsze wątki
- 2025-09-21 Duduś chce zostać milionerem! Już zaciągnął kredyt i kupił mieszkanie 700m2, a teraz napisał i wydał ks. pt. "To ja"!
- 2025-09-21 Nowe uprawnienia PIP od 1 stycznia 2026
- 2025-09-21 Weryfikacja myjki ultradźwiękowej
- 2025-09-21 Wyłudzenia świadczeń przez obcokrajowców
- 2025-09-21 wprowadzili system kaucyjny ustawą
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 Kopiowanie telefonu
- 2025-09-20 Warszawa => AWS Cloud Engineer <=
- 2025-09-20 Łódź => Regular Network Engineer <=
- 2025-09-20 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-09-20 wrzesień
- 2025-09-20 Łomiarz wychodzi w marcu
- 2025-09-19 Czeladź => Specjalista ds. public relations <=
- 2025-09-19 Warszawa => International Freight Forwarder <=