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.