Extreme Optimization™: Complexity made simple.

Numerical Components
for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Contact us
Introduction
Deployment Guide
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand ReferenceReference
  • Home
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Reference
    • Extreme.Mathematics Namespace
    • Extreme.Mathematics.Algorithms Namespace
    • Extreme.Mathematics.Calculus Namespace
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations Namespace
    • Extreme.Mathematics.Curves Namespace
    • Extreme.Mathematics.Curves.Nonlinear Namespace
    • Extreme.Mathematics.EquationSolvers Namespace
    • Extreme.Mathematics.Generic Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions Namespace
    • Extreme.Mathematics.LinearAlgebra.IO Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners Namespace
    • Extreme.Mathematics.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra.Sparse Namespace
    • Extreme.Mathematics.Optimization Namespace
    • Extreme.Mathematics.Optimization.LineSearches Namespace
    • Extreme.Mathematics.SignalProcessing Namespace
    • Extreme.Statistics Namespace
    • Extreme.Statistics.Distributions Namespace
    • Extreme.Statistics.IO Namespace
    • Extreme.Statistics.Multivariate Namespace
    • Extreme.Statistics.Random Namespace
    • Extreme.Statistics.Tests Namespace
    • Extreme.Statistics.TimeSeriesAnalysis Namespace
  • Extreme.Mathematics Namespace
    • AccuracyGoal Structure
    • AlgorithmStatus Enumeration
    • ArrayMath Class
    • BigFloat Class
    • BigInteger Structure
    • BigRational Structure
    • ComplexMatrix Class
    • ComplexVector Class
    • Constants Class
    • ConvergenceCriterion Enumeration
    • DecimalMath Class
    • DimensionMismatchException Class
    • DimensionType Enumeration
    • DoubleComparer Class
    • DoubleComplex Structure
    • Elementary Class
    • EquationSolving Class
    • FunctionMath Class
    • IntegerMath Class
    • Intent Enumeration
    • Interval Structure
    • Interval(T) Structure
    • IPermutable Interface
    • MachineConstants Class
    • Matrix Class
    • MatrixDiagonal Enumeration
    • MatrixElementOrder Enumeration
    • MatrixNorm Enumeration
    • MatrixOperationSide Enumeration
    • MatrixTriangle Enumeration
    • NumericalDifferentiation Class
    • NumericalIntegration Class
    • Permutation Class
    • RoundingMode Enumeration
    • SingleComparer Class
    • SingleComplex Structure
    • SingleComplexMatrix Class
    • SingleComplexVector Class
    • SingleInterval Structure
    • SingleMatrix Class
    • SingleMatrixFiller Delegate
    • SingleVector Class
    • SingleVectorFiller Delegate
    • SolutionReport(T) Class
    • Special Class
    • SymbolicMath Class
    • TotalLossOfPrecisionException Class
    • TransposeOperation Enumeration
    • Vector Class
  • DoubleComparer Class
    • Members
    • DoubleComparer Constructor
    • Methods
    • Properties
Collapse image Expand Image Copy image CopyHover image
         




DoubleComparer Class

Members See Also 
Represents a comparer for double-precision floating-point numbers with specified tolerance.

Namespace: Extreme.Mathematics
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 4.2.11333.0 (4.2.12253.0)

Syntax

C#
                      public class DoubleComparer : IComparer, 
	IComparer<double>
Visual Basic (Declaration)
                      Public Class DoubleComparer _
	Implements IComparer, IComparer(Of Double)
Visual C++
                      public ref class DoubleComparer : IComparer, 
	IComparer<double>
F#
                      type DoubleComparer =  
    class
        interface IComparer
        interface IComparer<float>
    end

Remarks

Two apparently equivalent floating-point numbers may not compare equal because of differences in their least significant digits. This is usually caused by round-off error resulting from the finite precision of floating-point representations. For example, the C# expression, (double)1/3 == (double)0.33333, does not compare equal because the division operation on the left-hand side has maximum precision while the constant on the right-hand side is only precise to the visible digits.

Instead, determine if the two sides of a comparison are close enough to equal for your purposes. The DoubleComparer class lets you specify the tolerance within which two numbers are considered equal.

Inheritance Hierarchy

System..::..Object
  Extreme.Mathematics..::..DoubleComparer

See Also

DoubleComparer Members
Extreme.Mathematics Namespace

Send comments on this topic to support@extremeoptimization.com

Copyright (c) 2004-2011 ExoAnalytics Inc.

Copyright © 2003-2013, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.