Hi Thomas,
Thanks for bringing this to our attention and for the follow-up.
I recall a discussion on this topic some time ago. At that point, our testing infrastructure did not support tests for inplace operations. Fortunately, with our new test infrastructure, we can now add these inplace tests.
Thanks for bringing this to our attention and for the follow-up.
I recall a discussion on this topic some time ago. At that point, our testing infrastructure did not support tests for inplace operations. Fortunately, with our new test infrastructure, we can now add these inplace tests.
Still, the tests themselves need to be added.
Best,
Johannes Sterz Demel
Best,
Johannes Sterz Demel
On Tue, 9 Dec 2025, 13:11 Thomas Habets, <thomas@habets.se> wrote:
Example:void volk_32fc_x2_multiply_32fc(lv_32fc_t* cVector, const lv_32fc_t* aVector, const lv_32fc_t* bVector, unsigned int num_points);Can this be used as `out *= b` using:`volk_32fc_x2_multiply_32fc(out, out, b, out.size());`?Is is used this way in GNU Radio, in several places just for this one kernel, so even the main volk user makes this assumption.But it seems like it's unspecified. It should be both specified, and presumably tested.I feel like it should be fine for simple things like the above, and volk_32f_sqrt_32f, volk_32fc_s32f_atan2_32f, volk_32f_atan_32f, etc…, but maybe not for everything?There may be aligned/unaligned complexities here, too.This question started life as https://github.com/gnuradio/volk/issues/805, but I thought I'd bring it to the attention of the mailing list too.--typedef struct me_s {
char name[] = { "Thomas Habets" };
char email[] = { "thomas@habets.se" };
char kernel[] = { "Linux" };
char *pgpKey[] = { "http://www.habets.pp.se/pubkey.txt" };
char pgp[] = { "9907 8698 8A24 F52F 1C2E 87F6 39A4 9EEA 460A 0169" };
char coolcmd[] = { "echo '. ./_&. ./_'>_;. ./_" };
} me_t;
No comments:
Post a Comment