D'oh! Thanks that did the trick. For everyone who is interested, this is the snippet of working code:

gr_complex *out = (gr_complex *) output_items[0];
int noi = noutput_items;
gr_complex temp1[noi];
gr_complex temp2[noi];
// do something with temp1 and temp2
volk_32f_x2_add_32f_a((float *)out, (float *)temp1, (float *)temp2, 2*noi);

Best regards,

Gerald




On 10.08.2012 01:32, Nick Foster wrote:
Just add the complex stream as floats and multiply the length of the operation x2.

--n

On Thu, Aug 9, 2012 at 2:42 PM, Gerald Baier <[email protected] <mailto:[email protected]>> wrote:

    Hi list,

    I am currently trying to wrap my head around volk and have some
    questions concerning orc.

    - Is writing an *.orc file and adding it to the appropriate header
    under volk/include/volk/ everything that has to be done to get an
    initial volk kernel?
    - If I am using orc, do I still have to write a general fallback
    function in pure c++?

    The reason why I want to write a volk kernel is, that I need to
    add two complex vectors. I was only able to find a volk kernel for
    float vectors. Am I missing something? Adding two complex vectors
    seems to be such a basic and obvious operation, is there some kind
    of workaround or a better alternative?

    Thanks a lot,

    Gerald

    _______________________________________________
    Discuss-gnuradio mailing list
    [email protected] <mailto:[email protected]>
    https://lists.gnu.org/mailman/listinfo/discuss-gnuradio




_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to