This block is a synchronous version of Modelica.Blocks.Math.IntegerChange.
It uses previous instead of the implicit
pre of change to set the Boolean output
y to true when the integer input
u changed. Thus, it's logic is:
if firstTick() then y = false; else y = not (u == previous(u)); end if;
This block might be superfluous and replaced by
Modelica.Blocks.Math.IntegerChange when the
semantics of change are relaxed and
well-defined for clocked discrete-time partitions.