4D v14.3

SET REAL COMPARISON LEVEL

Home

 
4D v14.3
SET REAL COMPARISON LEVEL

SET REAL COMPARISON LEVEL 


 

SET REAL COMPARISON LEVEL ( epsilon ) 
Parameter Type   Description
epsilon  Real in Epsilon value for real equality comparisons

The SET REAL COMPARISON LEVEL command sets the epsilon value used by 4D to compare real values and expressions for equality.

A computer always performs approximative real computations; therefore, testing real numbers for equality should take this approximation into account. 4D does this when comparing real numbers by testing whether or not the difference between the two numbers exceeds a certain value. This value is called the epsilon and works this way:

Given two real numbers a and b, if Abs(a-b) is greater than the epsilon, the numbers are considered not equal; otherwise, the numbers are considered equal.

By default, 4D, sets the epsilon value to 10 power minus 6 (10^-6). Please note that the epsilon value should always be positive. Examples:

  • 0.00001=0.00002 returns False, because the difference 0.00001 is greater than 10^-6.
  • 0.000001=0.000002 returns True, because the difference 0.000001 is not greater than 10^-6.
  • 0.000001=0.000003 returns False, because the difference 0.000002 is greater than 10^-6.

Using SET REAL COMPARISON LEVEL, you can increase or decrease the epsilon value as you require.

Note: If you want to execute a query or an "Order by" on a numeric indexed field whose values are lower than 10^-6, make sure that the SET REAL COMPARISON LEVEL command is executed before construction of the index.

WARNING: Typically, you will not need to use this command to change the default epsilon value.

IMPORTANT: Changing the epsilon only affects real comparison for equality. It has no effect on other real computations nor on the display of real values.

 
PROPERTIES 

Product: 4D
Theme: Math
Number: 623

 
HISTORY 

Created: 4D v6

 
SEE ALSO 

Comparison Operators

 
ARTICLE USAGE

4D Language Reference ( 4D v12.4)
4D Language Reference ( 4D v11 SQL Release 6)
4D Language Reference ( 4D v14 R3)
4D Language Reference ( 4D v14 R2)
4D Language Reference ( 4D v13.5)
4D Language Reference ( 4D v14.3)
4D Language Reference ( 4D v14 R4)