28 #ifndef VOLK_KERNELS_VOLK_VOLK_32F_8U_POLARBUTTERFLYPUPPET_32F_H_
29 #define VOLK_KERNELS_VOLK_VOLK_32F_8U_POLARBUTTERFLYPUPPET_32F_H_
40 unsigned char* u_ptr = u;
41 for (
i = 0;
i < elements;
i++) {
42 *u_ptr = (*u_ptr & 0x01);
52 memset(u + frame_size, 0,
sizeof(
unsigned char) * (elements - frame_size));
53 memset(llrs + frame_size, 0,
sizeof(
float) * (elements - frame_size));
59 memset(u, 0, frame_size);
60 unsigned char* target = u + frame_size;
64 for (
i = 0;
i < frame_size;
i++) {
65 *ft = (-2 * ((float)*target++)) + 1.0f;
74 for (s = 0; s < frame_size; s++) {
75 for (e = 0; e < frame_exp + 1; e++) {
76 printf(
"%+4.2f ", llrs[e * frame_size + s]);
79 if ((s + 1) % 8 == 0) {
92 #ifdef LV_HAVE_GENERIC
105 unsigned int u_num = 0;
106 for (; u_num < frame_size; u_num++) {
108 u[u_num] = llrs[u_num] > 0 ? 0 : 1;
128 unsigned int u_num = 0;
129 for (; u_num < frame_size; u_num++) {
131 u[u_num] = llrs[u_num] > 0 ? 0 : 1;
139 static inline void volk_32f_8u_polarbutterflypuppet_32f_u_avx2(
float* llrs,
151 unsigned int u_num = 0;
152 for (; u_num < frame_size; u_num++) {
153 volk_32f_8u_polarbutterfly_32f_u_avx2(llrs, u, frame_exp, 0, u_num, u_num);
154 u[u_num] = llrs[u_num] > 0 ? 0 : 1;