System.Math.CompareValue

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

function CompareValue(const A, B: Extended; Epsilon: Extended): TValueRelationship;
function CompareValue(const A, B: Double; Epsilon: Double): TValueRelationship;
function CompareValue(const A, B: Single; Epsilon: Single): TValueRelationship;
function CompareValue(const A, B: Integer): TValueRelationship;
function CompareValue(const A, B: Int64): TValueRelationship;
function CompareValue(const A, B: UInt64): TValueRelationship;

C++

extern DELPHI_PACKAGE System::Types::TValueRelationship __fastcall CompareValue(const System::Extended A, const System::Extended B, System::Extended Epsilon = 0.000000E+00)/* overload */;

Properties

Type Visibility Source Unit Parent
function public
System.Math.pas
System.Math.hpp
System.Math System.Math

Description

Returns the relationship between two numeric values.

Call CompareValue to determine the relationship between two numeric values. When comparing floating-point values, CompareValue lets you specify a maximum difference to use when comparing values, so that they are considered the same if they are within that amount.

A and B are the values to compare.

Epsilon is the maximum amount by which A and B can differ and still be considered the same value.

CompareValue returns one of the following constants defined for the TValueRelationship type:

  • LessThanValue if A is less than B (by more than Epsilon if A and B are floating-point numbers).
  • EqualsValue if A is equivalent to B (the same, or within Epsilon if A and B are floating-point numbers).
  • GreaterThanValue if A is larger than B (by more than Epsilon if A and B are floating-point numbers).

If Epsilon = 0, then some reasonable default value is used implicitly. For example, the Double version of SameValue uses the default value:

Epsilon = Max(Min(Abs(A), Abs(B)) * 1E-12, 1E-12)

See Also