Project Ne10
An Open Optimized Software Library Project for the ARM Architecture
Loading...
Searching...
No Matches
NE10_test.c
1/*
2 * Copyright 2011-15 ARM Limited and Contributors.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 * * Neither the name of ARM Limited nor the
13 * names of its contributors may be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY ARM LIMITED AND CONTRIBUTORS "AS IS" AND
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 * DISCLAIMED. IN NO EVENT SHALL ARM LIMITED AND CONTRIBUTORS BE LIABLE FOR ANY
20 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27#include <stdio.h>
28#include <stdlib.h>
29
30#include "NE10.h"
31
46void test_add1 (void)
47{
48 int i;
49 ne10_float32_t thesrc[5];
50 ne10_float32_t thecst;
51 ne10_float32_t thedst[5];
52
53 for (i = 0; i < 5; i++)
54 {
55 thesrc[i] = (ne10_float32_t) rand() / RAND_MAX * 5.0f;
56 }
57 thecst = (ne10_float32_t) rand() / RAND_MAX * 5.0f;
58
59 ne10_addc_float (thedst , thesrc, thecst, 5);
60}
61
68void test_add2 (void)
69{
70 int i;
71 ne10_float32_t thesrc[5];
72 ne10_float32_t thecst;
73 ne10_float32_t thedst1[5];
74 ne10_float32_t thedst2[5];
75 for (i = 0; i < 5; i++)
76 {
77 thesrc[i] = (ne10_float32_t) rand() / RAND_MAX * 5.0f;
78 }
79 thecst = (ne10_float32_t) rand() / RAND_MAX * 5.0f;
80
81 ne10_addc_float_c (thedst1 , thesrc, thecst, 5);
82 ne10_addc_float_neon (thedst2 , thesrc, thecst, 5);
83}
84
91int main()
92{
93 ne10_result_t status;
94 printf ("Going to initialze NE10...\n");
95
96 status = ne10_init();
97 if (status != NE10_OK)
98 printf ("NE10 init failed.\n");
99
100 printf ("NE10 has been initialized.\n");
101 test_add1();
102 test_add2();
103}
ne10_result_t(* ne10_addc_float)(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Adds a constant scalar value to all the elements of an input array and stores the results in an outpu...
void test_add2(void)
This test code shows you how to call Ne10 functions directly.
Definition NE10_test.c:68
void test_add1(void)
This test code shows you how to call Ne10 functions with auto detecting NEON hardware.
Definition NE10_test.c:46
int main()
main function
Definition NE10_test.c:91