58#ifndef INCLUDED_volk_32f_s32f_power_32f_a_H
59#define INCLUDED_volk_32f_s32f_power_32f_a_H
68#ifdef LV_HAVE_LIB_SIMDMATH
72static inline void volk_32f_s32f_power_32f_a_sse4_1(
float* cVector,
75 unsigned int num_points)
77 unsigned int number = 0;
79 float* cPtr = cVector;
80 const float* aPtr = aVector;
82#ifdef LV_HAVE_LIB_SIMDMATH
83 const unsigned int quarterPoints = num_points / 4;
92 for (; number < quarterPoints; number++) {
101 cVal = powf4(aVal, vPower);
111 number = quarterPoints * 4;
114 for (; number < num_points; number++) {
115 *cPtr++ = powf((*aPtr++), power);
123#include <xmmintrin.h>
125#ifdef LV_HAVE_LIB_SIMDMATH
130 const float* aVector,
132 unsigned int num_points)
134 unsigned int number = 0;
136 float* cPtr = cVector;
137 const float* aPtr = aVector;
139#ifdef LV_HAVE_LIB_SIMDMATH
140 const unsigned int quarterPoints = num_points / 4;
149 for (; number < quarterPoints; number++) {
159 cVal = powf4(aVal, vPower);
171 number = quarterPoints * 4;
174 for (; number < num_points; number++) {
175 *cPtr++ = powf((*aPtr++), power);
182#ifdef LV_HAVE_GENERIC
185 const float* aVector,
187 unsigned int num_points)
189 float* cPtr = cVector;
190 const float* aPtr = aVector;
191 unsigned int number = 0;
193 for (number = 0; number < num_points; number++) {
194 *cPtr++ = powf((*aPtr++), power);