Which definition is right for "ne10_addc_float_c"?

Hi,

On a Get Start thread of this web site, it has a short NE10 example having such snippet:

      ne10_addc_float_c( thedst1 , thesrc, thecst, ARRAY_LENGTH );
 
      ne10_addc_float_neon( thedst2 , thesrc, thecst, ARRAY_LENGTH );

I install NE10 library. In the documentation, it has a different definition:

ne10_result_t ne10_addc_float_neon (ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count) asm("ne10_addc_float_neon")

I am curious about the last "asm("ne10_addc_float_neon")". Could you tell me that?

Thanks,

Parents
  • Excuse me for the previous question. I find that it is caused by the generated documentation, which is wrong after I check the on-line documentation.

    Now, I have a new question when I build another simple example from the right NE10 documentation:

    int main()

    {

         ne10_result_t status;

         printf ("Going to initialize NE10...\n");

         status = ne10_init();

         if (status != NE10_OK)

             printf ("NE10 init failed.\n");

         printf ("NE10 has been initialized.\n");

         test_add1();

         test_add2();

         return 0;

    }

    I find that "

    status = ne10_init();"

    will cause build errors, such as:

    robert@M5100:~/workspace_v5_5/NE10_testHardware0$ arm-linux-gnueabihf-gcc -O2 -o sample testHd.c -I$NE10_INC_PATH -l:$NE10_LIB_PATH/libNE10.a

    /home/robert/projectNe10-Ne10-4167142/build/modules/libNE10.a(NE10_len.c.o): In function `ne10_len_vec2f_c':

    NE10_len.c:(.text+0x5e): undefined reference to `sqrtf'

    /home/robert/projectNe10-Ne10-4167142/build/modules/libNE10.a(NE10_len.c.o): In function `ne10_len_vec3f_c':

    NE10_len.c:(.text+0xf4): undefined reference to `sqrtf'

    /home/robert/projectNe10-Ne10-4167142/build/modules/libNE10.a(NE10_len.c.o): In function `ne10_len_vec4f_c':

    NE10_len.c:(.text+0x18c): undefined reference to `sqrtf'

    I have no idea on how to solve this. Please help me!

  • Hi,

    I would like to add more information about the problem.

    First, the test .c file is from link:

    Project Ne10: File List

    Its path is:

    /home/yang/NE10/NE10_github/Ne10_github_doc/Ne10/samples/NE10_test.c [code]

    Second, it generates an error in test_add1 when compiling.

    00046 void test_add1 (void)

    00047 {

    00048  int i;

    00049 ne10_float32_t thesrc[5];

    00050 ne10_float32_t thecst;

    00051 ne10_float32_t thedst[5];

    00052

    00053  for (i = 0; i < 5; i++)

    00054 {

    00055 thesrc[i] = (ne10_float32_t) rand() / RAND_MAX * 5.0f;

    00056 }

    00057 thecst = (ne10_float32_t) rand() / RAND_MAX * 5.0f;

    00058

    00059  ne10_addc_float (thedst , thesrc, thecst, 5);

    00060 }

    00061

    I have set up the include and library path in the IDE. It seems that it does understand ne10_addc_float in my environment. I originally thought it was a typo. After I changed that to ne10_addcfloat_c, it has the undefined reference errors.

    I also have tried command line for building. It has the same errors.

Reply Children
More questions in this forum