functionisEqual
Determine whether two Real numbers are numerically identical (up to machine precision)
Extends from Modelica.Icons.Function (Icon for functions).
Information
Syntax
result = isEqual(r1, r2); result = isEqual(r1, r2, eps=0.0);
Description
The function call "isEqual(r1, r2)" returns true,
if the two Real numbers r1 and r2 are the same up to a given precision eps.
(result = abs(r1-r2) ≤ eps). Otherwise the function
returns false. With the optional third argument eps
the range can be defined, in which two Real numbers are treated as identical.
The default is "eps = 0". Another useful value is, e.g.,
"eps = 10*Modelica.Constants.eps".
Example
Real r1 = 3; Real r2 = 3; Real r3 = 3.0001; Boolean result; algorithm result := isEqual(r1,r2); // = true result := isEqual(r1,r3); // = false result := isEqual(r1,r3, eps=0.1); // = true
See also
Modelica.Math.Vectors.isEqual, Modelica.Math.Matrices.isEqual, Modelica.Utilities.Strings.isEqual
Inputs
| Type | Name | Default | Description |
|---|---|---|---|
| Real | u1 | First scalar | |
| Real | u2 | Second scalar | |
| Real | eps | 0.0 | The two scalars are identical if abs(u1-u2) <= eps |
Outputs
| Type | Name | Default | Description |
|---|---|---|---|
| Boolean | result | True, if abs(u1-u2) <= eps |