# LGF_CompareLRealByPrecision (FC / 3.0.2)

Übersicht

Autor: Siemens Digital Industry

## Kurzbeschreibung

Diese Funktion überprüft zwei LREAL-Zahlen auf ihre Gleichheit über eine Näherungsformel und eine Konstante Präzision von 1.0E-12 (pico)

### Baustein Schnittstelle

| LGF_CompareLRealByPrecision (FC) |
--- | --- | ---
LReal |  |  | valueA |  | Ret_Val |  |  | Bool
LReal |  |  | valueB |  |  |  |  |
LReal |  |  | precision |  |  |  |  |

### Input Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
valueA | LReal | Erste LREAL-Zahl, die verglichen werden soll.
valueB | LReal | Zweite LREAL-Zahl, die verglichen werden soll.
precision | LReal | Genauigkeit mit der die beiden Werte verglichen werden.

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
Ret_Val | Bool | FALSE: ungleich TRUE: näherungsweise gleich

## Funktionsbeschreibung

Der Vergleich der LREAL-Zahlen basiert auf einer Genauigkeit die durch den Parameter `precision` vorgeben wird. Die Differenz der beiden Eingangswerte muss kleiner sein als die Genauigkeit `precision`multipliziert mit einem der beiden Eingangswerte.

Gleichung:

result := FALSE OR ((#valueA = 0.0) AND (ABS(#valueB) <= #precision)) OR ((#valueB = 0.0) AND (ABS(#valueA) <= #precision)) OR (ABS(#valueA - #valueB) <= (#precision * ABS(#valueA)));

## Änderungshistorie

Version & Datum | Änderungsbeschreibung
--- | ---
| 1.0.0 | Simatic Systems Support
| 03.06.2019 | First released version function besad on `LGF_CompareLReal`
| 3.0.0 | Simatic Systems Support
| 23.04.2020 | Set version to V3.0.0, harmonize the version of the whole library
| 3.0.1 | Simatic Systems Support
| 19.01.2020 | Insert documentation
| 3.0.2 | Simatic Systems Support
| 21.12.2023 | Fix compare error if one value is exactly zero