Re: sqrt (x*x) == x
こんにちは、立花@鎌ヶ谷市です。
Fujii Hironori <fujii@chi.its.hiroshima-cu.ac.jp> writes:
> sqrt (x*x) == x が真となることを前提としたプログラムを見たのですが、
> 真となるものですか。
常には成り立たないと思います。
> sqrt をニュートン法で誤差が十分小さくなったら終了とし、
> 誤差がでる処理系があるのではないかと思いまして。
> ちなみに、いくつか実験したら真でした。
手元(gcc version 2.95.3, glibc 2.2 on Plamo Linux2.2.6)で
Fujii さんのテストプログラムを動かしてみたら、
t 3.0
t 3
f 123.456
でした。
もちょっと試すと、
t 3.0
t 3
f 123.456
f 123.2
t 123.25
t 123.5
t 123.75
f 123.8
です。
--
tati@kc5.so-net.ne.jp 立花 晃@鎌ヶ谷市
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735