Skip to main content

isValueNaN

Short summary

This method checks if a value is not a number (NaN), for details check IEEE 754

:return: TRUE: value is NaN FALSE: value is not NaN

  • Return type: BOOL

Parameters

NameTypeCommentKind
valueREALvalue to checkinput

Code

Declaration

METHOD PROTECTED isValueNaN :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);
isValueNaN := (
THIS^.isValueSpecial(value)
AND_THEN ((realAsDword^ AND THIS^.MASK_FOR_FRACTION) > THIS^.ZERO)
);