2つの浮動小数点数が同一であるかどうかを判断する多くのアプローチがあるようです。ここに私が見つけたいくつかの例があります:
fabs(x - y) < n * FLT_EPSILON * fabs(x)
またはfabs(x - y) < n * FLT_EPSILON * fabs(y)
fabs(x - y) < n * FLT_EPSILON * fabs(x + y)
fabs(x - y) < n * FLT_EPSILON * fabs(x + y) || fabs(x - y) < FLT_MIN)
fabs(x - y) < n * FLT_EPSILON * sqrt(x * x + y * y + FLT_EPSILON * FLT_EPSILON)
私はそれらについて本当に混乱しています。2つの浮動小数点数を比較するための最良の方法があると仮定します。これは、最も単純かつ最も正確であり、他のアプローチは存在すべきではありません。したがって、これらの異なる方法には、それぞれ長所と短所があるはずです。
私の質問は次のとおりです。「実際の計算」を行うには、どのアプローチが最も正確ですか。
参照リンク: