lua-users home
lua-l archive

Re: Float numbers equality.

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> function float_equal(lhs, rhs, epsilon)
> return math.abs(lhs - rhs) < epsilon
> end
As mentioned before, if you have to do this, you need to use *relative* error,
not absolute error:
 return math.abs(lhs - rhs) < epsilon*rhs
Floating-poin numbers are not distributed uniformily in their range;
there's lot of clustering and empty intervals, due to scaling.

AltStyle によって変換されたページ (->オリジナル) /