Skip to main content

isValueNegativeInfinite

Short summary

This method checks if a value is negative infinite (-inifinity), for details check IEEE 754

:return: TRUE: value is -infinity FALSE: value is not -infinity

  • Return type: BOOL

Parameters

NameTypeCommentKind
valueLREALvalue to checkinput

Code

Declaration

{attribute 'analysis' := '-56'}
METHOD PROTECTED isValueNegativeInfinite : BOOL
VAR_INPUT
(* value to check *)
value :LREAL;
END_VAR
VAR
(* just to cast the value*)
lrealAsLword :POINTER TO LWORD;
END_VAR

Implementation

lrealAsLword := ADR(value);
isValueNegativeInfinite := (
THIS^.isValueInfinite(value)
AND_THEN ((lrealAsLword^ AND THIS^.MASK_FOR_SIGN_BIT) = THIS^.MASK_FOR_SIGN_BIT)
);