このコードスニペットは他の場所から入手しています。ウェブマスターによると、コードはクヌースによるコンピュータープログラミングの芸術から選ばれています
その本を持っていないので、2つの機能の違いを教えてください。
bool approximatelyEqual(float a, float b, float epsilon)
{
return fabs(a - b) <= ( (fabs(a) < fabs(b) ? fabs(b) : fabs(a)) * epsilon);
}
bool essentiallyEqual(float a, float b, float epsilon)
{
return fabs(a - b) <= ( (fabs(a) > fabs(b) ? fabs(b) : fabs(a)) * epsilon);
}