計算機イプシロン
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/09/23 04:12 UTC 版)
各プログラミング言語での対応
C言語
C言語においては、<float.h>
でFLT_EPSILON
、DBL_EPSILON
、LDBL_EPSILON
というマクロ定数が定義されており、それぞれfloat
型、double
型、long double
型の計算機イプシロンの値となっている[1]。
C++
C++ではテンプレートを利用したstd::numeric_limits<T>::epsilon()
関数が定義されている[4]。返却される値は前述のC言語の定数と同値である。
.NET
Microsoftの.NET Frameworkの基本クラスライブラリに、System.Double.Epsilon
という定数フィールドが定義されているが、これは浮動小数点方式で表現可能な最小の正の非正規化数であり、計算機イプシロンではない[5]。
Julia
Julia は標準で計算機イプシロンを取得する関数があり eps(Float32)
のように使用する。
関連項目
- ^ a b c d 奥村晴彦『C言語による最新アルゴリズム事典』技術評論社、1991年、33頁。ISBN 4-87408-414-1。
- ^ データとしては23桁であるが、正規化数では先頭に1が補われ、24桁の値となる。
- ^ Data Type Constants | Microsoft Docs
- ^ std::numeric_limits<T>::epsilon - cppreference.com
- ^ Double.Epsilon Field (System) | Microsoft Docsに「The value of the Epsilon property is not equivalent to machine epsilon, ...」とある。
- 1 計算機イプシロンとは
- 2 計算機イプシロンの概要
- 3 各プログラミング言語での対応
- 計算機イプシロンのページへのリンク