「.NETのfloat.Epsilon定数は計算機イプシロンではない」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
C#においてfloat型(Single型)の[[絶対値]]をfloat.Epsilon定数と比較している箇所の挙動がどうもおかしい。 | C#においてfloat型(Single型)の[[絶対値]]をfloat.Epsilon定数と比較している箇所の挙動がどうもおかしい。 | ||
− | |||
[[ググって]][[MSDN]]を見るとサラッと絶望的なひとことメモが。 | [[ググって]][[MSDN]]を見るとサラッと絶望的なひとことメモが。 | ||
The value of the F:System.Single.Epsilon property is not equivalent to machine epsilon, | The value of the F:System.Single.Epsilon property is not equivalent to machine epsilon, | ||
8行目: | 7行目: | ||
要約すると「浮動小数点演算の丸の相対誤差の上限(丸め誤差発生時にズレるであろう最大値)」であり「[[計算機イプシロン]]」ではない。 | 要約すると「浮動小数点演算の丸の相対誤差の上限(丸め誤差発生時にズレるであろう最大値)」であり「[[計算機イプシロン]]」ではない。 | ||
+ | 名前紛らわしすぎだろ。 | ||
− | + | 「奥村晴彦『C言語による最新アルゴリズム事典』技術評論社,1991年,ISBN4-87408-414-1,2400円」という書籍に[[計算機イプシロン]]を動的に求める[[アルゴリズム]]が詳細に解説されており、また[[ソースコード]]は公式サイトにおいても配布されている。この本は非常に面白いので迷わず買え。 | |
− | |||
− | |||
− | 「奥村晴彦『C言語による最新アルゴリズム事典』技術評論社,1991年,ISBN4-87408-414-1,2400円」という書籍に[[計算機イプシロン]]を動的に求める[[アルゴリズム]]が詳細に解説されており、また[[ソースコード]] | ||
− | |||
https://oku.edu.mie-u.ac.jp/~okumura/algo/ | https://oku.edu.mie-u.ac.jp/~okumura/algo/ | ||
− | + | 速攻でC#に移植した。 | |
− | + | <source lang="csharp"> | |
− | < | ||
using System; | using System; | ||
48行目: | 43行目: | ||
} | } | ||
} | } | ||
− | </ | + | </source> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[category: .NET]] | [[category: .NET]] | ||
[[category: Mono]] | [[category: Mono]] | ||
[[category: Xamarin]] | [[category: Xamarin]] |