「.NETのfloat.Epsilon定数は計算機イプシロンではない」を編集中
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
13行目: | 13行目: | ||
== 解決 == | == 解決 == | ||
「奥村晴彦『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行目: | 46行目: | ||
} | } | ||
} | } | ||
− | </ | + | </source> |
− | + | こういう[[アルゴリズム]]もあるらしい。 | |
− | < | + | <source> |
static double MachineEpsilon() | static double MachineEpsilon() | ||
{ | { | ||
64行目: | 62行目: | ||
return eps; | return eps; | ||
} | } | ||
− | </ | + | </source> |
== 備考 == | == 備考 == | ||
実行環境(主に[[CPU]]の違い)により計算結果が変化する点に注意すること。 | 実行環境(主に[[CPU]]の違い)により計算結果が変化する点に注意すること。 | ||
− | [[アーキテクチャ]] | + | [[アーキテクチャ]]がいっぱい[[ARM]]が主体の[[Xamarin]]系は要注意。 |
[[category: .NET]] | [[category: .NET]] | ||
[[category: Mono]] | [[category: Mono]] | ||
[[category: Xamarin]] | [[category: Xamarin]] |