I was doing some work with this kernel and came across an odd result
that I think is caused by a non-saturating add in the generic
proto-kernel, that should also be relevant to the 16i_max_star_16i.
I haven’t looked too much in to the SSE versions, but the generic
versions are doing a comparison by subtracting two values and
comparing the result to 0. At least in the QA on armhf this is causing
wrap-around so that the smaller of the two numbers is returned as the
Since I’m pretty sure this is part of the max* operator defined by
Viterbi in his “justification and implementation of a MAP decoder” I
think this result is incorrect unless I’m misunderstanding part of the
Can somebody with a little more insight in to this kernel ping back if
this is intended behavior? If not, is there some benefit to doing
(x-y)>0 vs x>y as the comparison?