GNU Radio Manual and C++ API Reference  3.7.7
The Free & Open Software Radio Ecosystem
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages

Overview

Raises the sample in aVector to the power of the number in bVector.

c[i] = pow(a[i], b[i])

Dispatcher Prototype

void volk_32f_x2_pow_32f(float* cVector, const float* bVector, const float* aVector, unsigned int num_points)

Inputs

  • bVector: The input vector of indices (power values).
  • aVector: The input vector of base values.
  • num_points: The number of values in both input vectors.

Outputs

  • cVector: The output vector.

Example Calculate the first two powers of two (2^x).

int N = 10;
unsigned int alignment = volk_get_alignment();
float* increasing = (float*)volk_malloc(sizeof(float)*N, alignment);
float* twos = (float*)volk_malloc(sizeof(float)*N, alignment);
float* out = (float*)volk_malloc(sizeof(float)*N, alignment);
for(unsigned int ii = 0; ii < N; ++ii){
increasing[ii] = (float)ii;
twos[ii] = 2.f;
}
volk_32f_x2_pow_32f(out, increasing, twos, N);
for(unsigned int ii = 0; ii < N; ++ii){
printf("out[%u] = %1.2f\n", ii, out[ii]);
}
volk_free(increasing);
volk_free(twos);
volk_free(out);