struct State {
};
{{ GENERATED_CODE }}
void evaluate(Context ctx) {
Number count = getValue<output_OUT>(ctx);
if (isInputDirty<input_RST>(ctx))
count = 0;
else {
auto step = getValue<input_STEP>(ctx);
if (isInputDirty<input_INC>(ctx))
count += step;
if (isInputDirty<input_DEC>(ctx))
count -= step;
}
emitValue<output_OUT>(ctx, count);
}