Wrong typing in polar decoder implementation SSE
In branch develop-nr, the function computeBeta (that implement optimized polar decoder) has some wrong typing:
Line 496:
int **avx2mod** = (node->Nv/2)&15;
if (**ssr4mod** == 0) {
int **ssr4len** = node->Nv/2/8;
register __m128i allones=*((__m128i*)all1);
Should be fixed to:
int sse4mod = (node->Nv/2)&15;
if (sse4mod == 0) {
int sse4len = node->Nv/2/8;
register __m128i allones=*((__m128i*)all1);
Line 441:
((__m64 *)alpha_r)[0] = _mm_subs_pi16(((__m64 *)alpha_v)[1],_mm_sign_pi16(((__64 *)alpha_v)[0],((__m64 *)betal)[0]));
Should be fixed to:
((__m64 *)alpha_r)[0] = _mm_subs_pi16(((__m64 *)alpha_v)[1],_mm_sign_pi16(((__m64 *)alpha_v)[0],((__m64 *)betal)[0]));