Skip to content

Commit

Permalink
Added call for complex computations
Browse files Browse the repository at this point in the history
  • Loading branch information
hkbinaurics committed Feb 3, 2025
1 parent ff6e667 commit ce24f76
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions sources/jvxLibraries/jvx-dsp-base/include/jvx_math/jvx_complex.h
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,13 @@ void JVX_STATIC_INLINE jvx_complex_square_of_magnitude(jvxDataCplx in, jvxData*
*out = in.re * in.re + in.im * in.im;
}

//! square of magnitude
jvxData JVX_STATIC_INLINE jvx_complex_square_of_magnitude_i(jvxDataCplx in)
{
jvxData out = in.re * in.re + in.im * in.im;
return out;
}

void JVX_STATIC_INLINE jvx_complex_square_of_magnitude_n(jvxDataCplx* in, jvxData* out, jvxSize n)
{
for (jvxSize i = 0; i < n; i++)
Expand All @@ -123,6 +130,33 @@ void JVX_STATIC_INLINE jvx_complex_square_of_magnitude_n(jvxDataCplx* in, jvxDat
}
}

jvxData JVX_STATIC_INLINE jvx_complex_square_of_magnitude_sum_n(jvxDataCplx* in, jvxSize n)
{
jvxData out = 0;
for (jvxSize i = 0; i < n; i++)
{
out += jvx_complex_square_of_magnitude_i(*in);
in++;
}
return out;
}

jvxData JVX_STATIC_INLINE jvx_complex_square_of_magnitude_sum_fft_n(jvxDataCplx* in, jvxSize n, jvxData scaleFac)
{
jvxData out = 0;
out += jvx_complex_square_of_magnitude_i(*in);
in++;
for (jvxSize i = 1; i < n-1; i++)
{
out += 2* jvx_complex_square_of_magnitude_i(*in);
in++;
}
out += jvx_complex_square_of_magnitude_i(*in);
in++;
out *= scaleFac;
return out;
}

void JVX_STATIC_INLINE jvx_complex_square_of_magnitude_add_n(jvxDataCplx* in, jvxData* out, jvxSize n)
{
for (jvxSize i = 0; i < n; i++)
Expand Down

0 comments on commit ce24f76

Please sign in to comment.