Re: Floating Point Precision guidance.
From: Alwyn (dt015a1979_at_mac.com.invalid)
Date: 11/22/04
- Next message: Jerry Coffin: "Re: Floating Point Precision guidance."
- Previous message: B. v Ingen Schenau: "Re: Floating Point Precision guidance."
- In reply to: Chris \( Val \): "Re: Floating Point Precision guidance."
- Next in thread: Chris \( Val \): "Re: Floating Point Precision guidance."
- Reply: Chris \( Val \): "Re: Floating Point Precision guidance."
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 22 Nov 2004 19:40:27 +0000
In article <30dptnF2ukorbU1@uni-berlin.de>, Val \
<chrisval@bigpond.com.au> wrote:
>
> # include <iostream>
> # include <ostream>
> # include <cmath>
>
> static float Epsilon(
> std::numeric_limits<float>::epsilon() );
>
> inline bool IsEqualEnough( float Result, float Comparator,
> float ThreshHold = Epsilon )
> {
> return ( std::fabs( Result ) <= ( Comparator + ThreshHold ) &&
> std::fabs( Result ) >= ( Comparator - ThreshHold ) );
> }
I suggest something like:
bool fNearlyEq(float u, float v, float e)
{
float diff = fabs(u - v);
return diff / fabs(u) <= e && diff / fabs(v) <= e;
}
and:
bool fRoughlyEq(float u, float v, float e)
{
float diff = fabs(u - v);
return diff / fabs(u) <= e || diff / fabs(v) <= e;
}
which have been adapted from Knuth, vol. 2.
Alwyn
- Next message: Jerry Coffin: "Re: Floating Point Precision guidance."
- Previous message: B. v Ingen Schenau: "Re: Floating Point Precision guidance."
- In reply to: Chris \( Val \): "Re: Floating Point Precision guidance."
- Next in thread: Chris \( Val \): "Re: Floating Point Precision guidance."
- Reply: Chris \( Val \): "Re: Floating Point Precision guidance."
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|
|