isValueInfinite
Short summary
This method checks if a value is infinite (infinity OR -inifinity), for details check IEEE 754
:return:
TRUE: value is inifinty or -infinity
FALSE: value is not inifinty and not -infinity
- Return type:
BOOL
Parameters
| Name | Type | Comment | Kind |
|---|---|---|---|
| value | REAL | value to check | input |
Code
Declaration
METHOD PROTECTED isValueInfinite :BOOL
VAR_INPUT
(* value to check *)
value :REAL;
END_VAR
VAR
(* just to cast the value*)
realAsDword :POINTER TO DWORD;
END_VAR
Implementation
realAsDword := ADR(value);
isValueInfinite := (
THIS^.isValueSpecial(value)
AND_THEN ((realAsDword^ AND THIS^.MASK_FOR_FRACTION) = THIS^.ZERO)
);