#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <volk/volk_complex.h>
#include <arm_neon.h>
#include <volk/volk_neon_intrinsics.h>
#include <immintrin.h>
#include <volk/volk_avx_intrinsics.h>
Go to the source code of this file.
|
| static void | volk_32fc_s32fc_x2_rotator2_32fc_generic (lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t *phase_inc, lv_32fc_t *phase, unsigned int num_points) |
| static void | volk_32fc_s32fc_x2_rotator2_32fc_neon (lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t *phase_inc, lv_32fc_t *phase, unsigned int num_points) |
| | NEON implementation with angle-based resync for numerical stability.
|
| static void | volk_32fc_s32fc_x2_rotator2_32fc_a_avx (lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t *phase_inc, lv_32fc_t *phase, unsigned int num_points) |
| | AVX implementation with angle-based resync for numerical stability.
|
| static void | volk_32fc_s32fc_x2_rotator2_32fc_u_avx (lv_32fc_t *outVector, const lv_32fc_t *inVector, const lv_32fc_t *phase_inc, lv_32fc_t *phase, unsigned int num_points) |
| | Unaligned AVX implementation with angle-based resync for numerical stability.
|
◆ M_PI
| #define M_PI 3.14159265358979323846 |
◆ REDUCE_ANGLE [1/3]
| #define REDUCE_ANGLE |
( |
| a | ) |
|
Value: do { \
(a) = fmod((a), 2.0 *
M_PI); \
} while (0)
◆ REDUCE_ANGLE [2/3]
| #define REDUCE_ANGLE |
( |
| a | ) |
|
Value: do { \
(a) = fmod((a), 2.0 *
M_PI); \
} while (0)
◆ REDUCE_ANGLE [3/3]
| #define REDUCE_ANGLE |
( |
| a | ) |
|
Value: do { \
(a) = fmod((a), 2.0 *
M_PI); \
} while (0)
◆ ROTATOR_RELOAD
| #define ROTATOR_RELOAD 512 |
◆ ROTATOR_RELOAD_2
◆ ROTATOR_RELOAD_4
◆ ROTATOR_RELOAD_8
◆ volk_32fc_s32fc_x2_rotator2_32fc_a_avx()
AVX implementation with angle-based resync for numerical stability.
Uses Kahan summation for angle accumulation and periodic sincos resync to eliminate accumulated phase error. Suitable for billion-sample stability.
◆ volk_32fc_s32fc_x2_rotator2_32fc_generic()
◆ volk_32fc_s32fc_x2_rotator2_32fc_neon()
NEON implementation with angle-based resync for numerical stability.
Uses Kahan summation for angle accumulation and periodic sincos resync to eliminate accumulated phase error. Suitable for billion-sample stability.
◆ volk_32fc_s32fc_x2_rotator2_32fc_u_avx()
Unaligned AVX implementation with angle-based resync for numerical stability.
Uses Kahan summation for angle accumulation and periodic sincos resync to eliminate accumulated phase error. Suitable for billion-sample stability.