[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] [VOLK] 16i_max_star_horizontal_16i non-saturating sub
From: |
West, Nathan |
Subject: |
[Discuss-gnuradio] [VOLK] 16i_max_star_horizontal_16i non-saturating subtraction |
Date: |
Wed, 5 Feb 2014 10:04:37 -0600 |
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
max.
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
operator.
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?
Thanks,
Nathan
- [Discuss-gnuradio] [VOLK] 16i_max_star_horizontal_16i non-saturating subtraction,
West, Nathan <=