Test case R0100
Full test suiteDevice test case
Formal call to functions
This test case it part of the test suite proposed for new devices.
Test case ID: R0100
Language: ST
tests2/t0100.st
(* Function ABSZ : returns absolute value, increments Y in 0.5 and sets XZ = ABSZ+1 *)
FUNCTION ABSZ_R0100 : REAL
VAR_INPUT
X : REAL;
END_VAR
VAR_IN_OUT
Y : REAL;
END_VAR
VAR_OUTPUT
XZ : REAL;
END_VAR
VAR
i : REAL := 42.0;
END_VAR
IF( X < 0.0 ) THEN ABSZ_R0100 := -X;
ELSE ABSZ_R0100 := X;
END_IF;
Y := Y + 0.5;
XZ := ABSZ_R0100 + 1.0;
END_FUNCTION
PROGRAM R0100
VAR
ZIN,R2,O2,IO1 : REAL;
END_VAR
IO1 := 2.3;
ZIN := -1.234;
R2 := ABSZ_R0100( X := ZIN, Y := IO1, XZ => O2 ); // function return same as informal call
_GEB_ASSERT_EQFLOAT_(IO1 , 2.8);
_GEB_ASSERT_EQFLOAT_(O2 , 2.234);
_GEB_ASSERT_EQFLOAT_(R2 , 1.234);
_GEB_ASSERT_EQFLOAT_(ZIN , -1.234);
END_PROGRAM


