Documented what an 'ulp' is supposed to be in the FloatHelper class :)

git-svn-id: file:///srv/devel/repo-conversion/nusu@109 d2e56fa2-650e-0410-a79f-9358c0239efd
This commit is contained in:
Markus Ewald 2008-12-14 18:05:14 +00:00
parent 8923f2512a
commit 3731fc42ae

View File

@ -26,8 +26,21 @@ namespace Nuclex.Support {
/// <summary>Helper routines for working with floating point numbers</summary> /// <summary>Helper routines for working with floating point numbers</summary>
/// <remarks> /// <remarks>
/// <para>
/// The floating point comparison code is based on this excellent article: /// The floating point comparison code is based on this excellent article:
/// http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm /// http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm
/// </para>
/// <para>
/// "ULP" means Unit in the Last Place and in the context of this library refers to
/// the distance between two adjacent floating point numbers. IEEE floating point
/// numbers can only represent a finite subset of natural numbers, with greater
/// accuracy on the lower end of the range and lower accuracy for very large numbers.
/// </para>
/// <para>
/// If a comparison is allowed "2 ulps" of deviation, that means the values are
/// allowed to deviate by up to 2 adjacent floating point values, which might be
/// as low as 0.0000001 for small numbers or as high as 10.0 for large numbers.
/// </para>
/// </remarks> /// </remarks>
public static class FloatHelper { public static class FloatHelper {
@ -85,7 +98,7 @@ namespace Nuclex.Support {
/// <returns>True if both numbers are equal or close to being equal</returns> /// <returns>True if both numbers are equal or close to being equal</returns>
/// <remarks> /// <remarks>
/// <para> /// <para>
/// Floating point values can only represent a limited series of natural numbers. /// Floating point values can only represent a finite subset of natural numbers.
/// For example, the values 2.00000000 and 2.00000024 can be stored in a float, /// For example, the values 2.00000000 and 2.00000024 can be stored in a float,
/// but nothing inbetween them. /// but nothing inbetween them.
/// </para> /// </para>