28 #ifndef VOLK_KERNELS_VOLK_VOLK_32F_8U_POLARBUTTERFLYPUPPET_32F_H_
29 #define VOLK_KERNELS_VOLK_VOLK_32F_8U_POLARBUTTERFLYPUPPET_32F_H_
41 unsigned char* u_ptr = u;
42 for(
i = 0;
i < elements;
i++){
43 *u_ptr = (*u_ptr & 0x01);
51 memset(u + frame_size, 0,
sizeof(
unsigned char) * (elements - frame_size));
52 memset(llrs + frame_size, 0,
sizeof(
float) * (elements - frame_size));
58 memset(u, 0, frame_size);
59 unsigned char* target = u + frame_size;
63 for(
i = 0;
i < frame_size;
i++){
64 *ft = (-2 * ((float) *target++)) + 1.0f;
73 for(s = 0; s < frame_size; s++){
74 for(e = 0; e < frame_exp + 1; e++){
75 printf(
"%+4.2f ", llrs[e * frame_size + s]);
92 #ifdef LV_HAVE_GENERIC
103 unsigned int u_num = 0;
104 for(; u_num < frame_size; u_num++){
106 u[u_num] = llrs[u_num] > 0 ? 0 : 1;
124 unsigned int u_num = 0;
125 for(; u_num < frame_size; u_num++){
127 u[u_num] = llrs[u_num] > 0 ? 0 : 1;
136 volk_32f_8u_polarbutterflypuppet_32f_u_avx2(
float* llrs,
const float* input,
unsigned char* u,
const int elements)
145 unsigned int u_num = 0;
146 for(; u_num < frame_size; u_num++){
147 volk_32f_8u_polarbutterfly_32f_u_avx2(llrs, u, frame_exp, 0, u_num, u_num);
148 u[u_num] = llrs[u_num] > 0 ? 0 : 1;