Project Ne10
An Open Optimized Software Library Project for the ARM Architecture
Loading...
Searching...
No Matches
NE10_init_math.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
28#include <stdio.h>
29
30#include "NE10_math.h"
31
32ne10_result_t ne10_init_math (int is_NEON_available)
33{
34 if (NE10_OK == is_NEON_available)
35 {
36 ne10_addc_float = ne10_addc_float_neon;
37 ne10_addc_vec2f = ne10_addc_vec2f_neon;
38 ne10_addc_vec3f = ne10_addc_vec3f_neon;
39 ne10_addc_vec4f = ne10_addc_vec4f_neon;
40 ne10_subc_float = ne10_subc_float_neon;
41 ne10_subc_vec2f = ne10_subc_vec2f_neon;
42 ne10_subc_vec3f = ne10_subc_vec3f_neon;
43 ne10_subc_vec4f = ne10_subc_vec4f_neon;
44 ne10_rsbc_float = ne10_rsbc_float_neon;
45 ne10_rsbc_vec2f = ne10_rsbc_vec2f_neon;
46 ne10_rsbc_vec3f = ne10_rsbc_vec3f_neon;
47 ne10_rsbc_vec4f = ne10_rsbc_vec4f_neon;
48 ne10_mulc_float = ne10_mulc_float_neon;
49 ne10_mulc_vec2f = ne10_mulc_vec2f_neon;
50 ne10_mulc_vec3f = ne10_mulc_vec3f_neon;
51 ne10_mulc_vec4f = ne10_mulc_vec4f_neon;
52 ne10_divc_float = ne10_divc_float_neon;
53 ne10_divc_vec2f = ne10_divc_vec2f_neon;
54 ne10_divc_vec3f = ne10_divc_vec3f_neon;
55 ne10_divc_vec4f = ne10_divc_vec4f_neon;
56 ne10_setc_float = ne10_setc_float_neon;
57 ne10_setc_vec2f = ne10_setc_vec2f_neon;
58 ne10_setc_vec3f = ne10_setc_vec3f_neon;
59 ne10_setc_vec4f = ne10_setc_vec4f_neon;
60 ne10_mlac_float = ne10_mlac_float_neon;
61 ne10_mlac_vec2f = ne10_mlac_vec2f_neon;
62 ne10_mlac_vec3f = ne10_mlac_vec3f_neon;
63 ne10_mlac_vec4f = ne10_mlac_vec4f_neon;
64 ne10_add_float = ne10_add_float_neon;
65 ne10_sub_float = ne10_sub_float_neon;
66 ne10_mul_float = ne10_mul_float_neon;
67 ne10_div_float = ne10_div_float_neon;
68 ne10_mla_float = ne10_mla_float_neon;
69 ne10_abs_float = ne10_abs_float_neon;
70 ne10_len_vec2f = ne10_len_vec2f_neon;
71 ne10_len_vec3f = ne10_len_vec3f_neon;
72 ne10_len_vec4f = ne10_len_vec4f_neon;
73 ne10_normalize_vec2f = ne10_normalize_vec2f_neon;
74 ne10_normalize_vec3f = ne10_normalize_vec3f_neon;
75 ne10_normalize_vec4f = ne10_normalize_vec4f_neon;
76
77 ne10_abs_vec2f = ne10_abs_vec2f_neon;
78 ne10_abs_vec3f = ne10_abs_vec3f_neon;
79 ne10_abs_vec4f = ne10_abs_vec4f_neon;
80 ne10_vmul_vec2f = ne10_vmul_vec2f_neon;
81 ne10_vmul_vec3f = ne10_vmul_vec3f_neon;
82 ne10_vmul_vec4f = ne10_vmul_vec4f_neon;
83 ne10_vdiv_vec2f = ne10_vdiv_vec2f_neon;
84 ne10_vdiv_vec3f = ne10_vdiv_vec3f_neon;
85 ne10_vdiv_vec4f = ne10_vdiv_vec4f_neon;
86 ne10_vmla_vec2f = ne10_vmla_vec2f_neon;
87 ne10_vmla_vec3f = ne10_vmla_vec3f_neon;
88 ne10_vmla_vec4f = ne10_vmla_vec4f_neon;
89 ne10_add_vec2f = ne10_add_vec2f_neon;
90 ne10_add_vec3f = ne10_add_vec3f_neon;
91 ne10_add_vec4f = ne10_add_vec4f_neon;
92 ne10_sub_vec2f = ne10_sub_vec2f_neon;
93 ne10_sub_vec3f = ne10_sub_vec3f_neon;
94 ne10_sub_vec4f = ne10_sub_vec4f_neon;
95 ne10_dot_vec2f = ne10_dot_vec2f_neon;
96 ne10_dot_vec3f = ne10_dot_vec3f_neon;
97 ne10_dot_vec4f = ne10_dot_vec4f_neon;
98 ne10_cross_vec3f = ne10_cross_vec3f_neon;
99
100 ne10_addmat_2x2f = ne10_addmat_2x2f_neon;
101 ne10_addmat_3x3f = ne10_addmat_3x3f_neon;
102 ne10_addmat_4x4f = ne10_addmat_4x4f_neon;
103 ne10_submat_2x2f = ne10_submat_2x2f_neon;
104 ne10_submat_3x3f = ne10_submat_3x3f_neon;
105 ne10_submat_4x4f = ne10_submat_4x4f_neon;
106 ne10_mulmat_2x2f = ne10_mulmat_2x2f_neon;
107 ne10_mulmat_3x3f = ne10_mulmat_3x3f_neon;
108 ne10_mulmat_4x4f = ne10_mulmat_4x4f_neon;
109 ne10_mulcmatvec_cm2x2f_v2f = ne10_mulcmatvec_cm2x2f_v2f_neon;
110 ne10_mulcmatvec_cm3x3f_v3f = ne10_mulcmatvec_cm3x3f_v3f_neon;
111 ne10_mulcmatvec_cm4x4f_v4f = ne10_mulcmatvec_cm4x4f_v4f_neon;
112 ne10_detmat_2x2f = ne10_detmat_2x2f_neon;
113 ne10_detmat_3x3f = ne10_detmat_3x3f_neon;
114 ne10_detmat_4x4f = ne10_detmat_4x4f_neon;
115 ne10_invmat_2x2f = ne10_invmat_2x2f_neon;
116 ne10_invmat_3x3f = ne10_invmat_3x3f_neon;
117 ne10_invmat_4x4f = ne10_invmat_4x4f_neon;
118 ne10_transmat_4x4f = ne10_transmat_4x4f_neon;
119 ne10_identitymat_4x4f = ne10_identitymat_4x4f_neon;
120 ne10_transmat_3x3f = ne10_transmat_3x3f_neon;
121 ne10_identitymat_3x3f = ne10_identitymat_3x3f_neon;
122 ne10_transmat_2x2f = ne10_transmat_2x2f_neon;
123 ne10_identitymat_2x2f = ne10_identitymat_2x2f_neon;
124 }
125 else
126 {
127 ne10_addc_float = ne10_addc_float_c;
128 ne10_addc_vec2f = ne10_addc_vec2f_c;
129 ne10_addc_vec3f = ne10_addc_vec3f_c;
130 ne10_addc_vec4f = ne10_addc_vec4f_c;
131 ne10_subc_float = ne10_subc_float_c;
132 ne10_subc_vec2f = ne10_subc_vec2f_c;
133 ne10_subc_vec3f = ne10_subc_vec3f_c;
134 ne10_subc_vec4f = ne10_subc_vec4f_c;
135 ne10_rsbc_float = ne10_rsbc_float_c;
136 ne10_rsbc_vec2f = ne10_rsbc_vec2f_c;
137 ne10_rsbc_vec3f = ne10_rsbc_vec3f_c;
138 ne10_rsbc_vec4f = ne10_rsbc_vec4f_c;
139 ne10_mulc_float = ne10_mulc_float_c;
140 ne10_mulc_vec2f = ne10_mulc_vec2f_c;
141 ne10_mulc_vec3f = ne10_mulc_vec3f_c;
142 ne10_mulc_vec4f = ne10_mulc_vec4f_c;
143 ne10_divc_float = ne10_divc_float_c;
144 ne10_divc_vec2f = ne10_divc_vec2f_c;
145 ne10_divc_vec3f = ne10_divc_vec3f_c;
146 ne10_divc_vec4f = ne10_divc_vec4f_c;
147 ne10_setc_float = ne10_setc_float_c;
148 ne10_setc_vec2f = ne10_setc_vec2f_c;
149 ne10_setc_vec3f = ne10_setc_vec3f_c;
150 ne10_setc_vec4f = ne10_setc_vec4f_c;
151 ne10_mlac_float = ne10_mlac_float_c;
152 ne10_mlac_vec2f = ne10_mlac_vec2f_c;
153 ne10_mlac_vec3f = ne10_mlac_vec3f_c;
154 ne10_mlac_vec4f = ne10_mlac_vec4f_c;
155 ne10_add_float = ne10_add_float_c;
156 ne10_sub_float = ne10_sub_float_c;
157 ne10_mul_float = ne10_mul_float_c;
158 ne10_div_float = ne10_div_float_c;
159 ne10_mla_float = ne10_mla_float_c;
160 ne10_abs_float = ne10_abs_float_c;
161 ne10_len_vec2f = ne10_len_vec2f_c;
162 ne10_len_vec3f = ne10_len_vec3f_c;
163 ne10_len_vec4f = ne10_len_vec4f_c;
164 ne10_normalize_vec2f = ne10_normalize_vec2f_c;
165 ne10_normalize_vec3f = ne10_normalize_vec3f_c;
166 ne10_normalize_vec4f = ne10_normalize_vec4f_c;
167
168 ne10_abs_vec2f = ne10_abs_vec2f_c;
169 ne10_abs_vec3f = ne10_abs_vec3f_c;
170 ne10_abs_vec4f = ne10_abs_vec4f_c;
171 ne10_vmul_vec2f = ne10_vmul_vec2f_c;
172 ne10_vmul_vec3f = ne10_vmul_vec3f_c;
173 ne10_vmul_vec4f = ne10_vmul_vec4f_c;
174 ne10_vdiv_vec2f = ne10_vdiv_vec2f_c;
175 ne10_vdiv_vec3f = ne10_vdiv_vec3f_c;
176 ne10_vdiv_vec4f = ne10_vdiv_vec4f_c;
177 ne10_vmla_vec2f = ne10_vmla_vec2f_c;
178 ne10_vmla_vec3f = ne10_vmla_vec3f_c;
179 ne10_vmla_vec4f = ne10_vmla_vec4f_c;
180 ne10_add_vec2f = ne10_add_vec2f_c;
181 ne10_add_vec3f = ne10_add_vec3f_c;
182 ne10_add_vec4f = ne10_add_vec4f_c;
183 ne10_sub_vec2f = ne10_sub_vec2f_c;
184 ne10_sub_vec3f = ne10_sub_vec3f_c;
185 ne10_sub_vec4f = ne10_sub_vec4f_c;
186 ne10_dot_vec2f = ne10_dot_vec2f_c;
187 ne10_dot_vec3f = ne10_dot_vec3f_c;
188 ne10_dot_vec4f = ne10_dot_vec4f_c;
189 ne10_cross_vec3f = ne10_cross_vec3f_c;
190
191 ne10_addmat_2x2f = ne10_addmat_2x2f_c;
192 ne10_addmat_3x3f = ne10_addmat_3x3f_c;
193 ne10_addmat_4x4f = ne10_addmat_4x4f_c;
194 ne10_submat_2x2f = ne10_submat_2x2f_c;
195 ne10_submat_3x3f = ne10_submat_3x3f_c;
196 ne10_submat_4x4f = ne10_submat_4x4f_c;
197 ne10_mulmat_2x2f = ne10_mulmat_2x2f_c;
198 ne10_mulmat_3x3f = ne10_mulmat_3x3f_c;
199 ne10_mulmat_4x4f = ne10_mulmat_4x4f_c;
200 ne10_mulcmatvec_cm2x2f_v2f = ne10_mulcmatvec_cm2x2f_v2f_c;
201 ne10_mulcmatvec_cm3x3f_v3f = ne10_mulcmatvec_cm3x3f_v3f_c;
202 ne10_mulcmatvec_cm4x4f_v4f = ne10_mulcmatvec_cm4x4f_v4f_c;
203 ne10_detmat_2x2f = ne10_detmat_2x2f_c;
204 ne10_detmat_3x3f = ne10_detmat_3x3f_c;
205 ne10_detmat_4x4f = ne10_detmat_4x4f_c;
206 ne10_invmat_2x2f = ne10_invmat_2x2f_c;
207 ne10_invmat_3x3f = ne10_invmat_3x3f_c;
208 ne10_invmat_4x4f = ne10_invmat_4x4f_c;
209 ne10_transmat_4x4f = ne10_transmat_4x4f_c;
210 ne10_identitymat_4x4f = ne10_identitymat_4x4f_c;
211 ne10_transmat_3x3f = ne10_transmat_3x3f_c;
212 ne10_identitymat_3x3f = ne10_identitymat_3x3f_c;
213 ne10_transmat_2x2f = ne10_transmat_2x2f_c;
214 ne10_identitymat_2x2f = ne10_identitymat_2x2f_c;
215 }
216 return NE10_OK;
217}
218
219// These are actual definitions of our function pointers that are declared in inc/NE10_types.h
220ne10_result_t (*ne10_addc_float) (ne10_float32_t * dst, ne10_float32_t * src, const ne10_float32_t cst, ne10_uint32_t count);
221ne10_result_t (*ne10_addc_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src, const ne10_vec2f_t * cst, ne10_uint32_t count);
222ne10_result_t (*ne10_addc_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src, const ne10_vec3f_t * cst, ne10_uint32_t count);
223ne10_result_t (*ne10_addc_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src, const ne10_vec4f_t * cst, ne10_uint32_t count);
224ne10_result_t (*ne10_subc_float) (ne10_float32_t * dst, ne10_float32_t * src, const ne10_float32_t cst, ne10_uint32_t count);
225ne10_result_t (*ne10_subc_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src, const ne10_vec2f_t * cst, ne10_uint32_t count);
226ne10_result_t (*ne10_subc_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src, const ne10_vec3f_t * cst, ne10_uint32_t count);
227ne10_result_t (*ne10_subc_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src, const ne10_vec4f_t * cst, ne10_uint32_t count);
228ne10_result_t (*ne10_rsbc_float) (ne10_float32_t * dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count);
229ne10_result_t (*ne10_rsbc_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src, const ne10_vec2f_t * cst, ne10_uint32_t count);
230ne10_result_t (*ne10_rsbc_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src, const ne10_vec3f_t * cst, ne10_uint32_t count);
231ne10_result_t (*ne10_rsbc_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src, const ne10_vec4f_t * cst, ne10_uint32_t count);
232ne10_result_t (*ne10_mulc_float) (ne10_float32_t * dst, ne10_float32_t * src, const ne10_float32_t cst, ne10_uint32_t count);
233ne10_result_t (*ne10_mulc_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src, const ne10_vec2f_t * cst, ne10_uint32_t count);
234ne10_result_t (*ne10_mulc_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src, const ne10_vec3f_t * cst, ne10_uint32_t count);
235ne10_result_t (*ne10_mulc_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src, const ne10_vec4f_t * cst, ne10_uint32_t count);
236ne10_result_t (*ne10_divc_float) (ne10_float32_t * dst, ne10_float32_t * src, const ne10_float32_t cst, ne10_uint32_t count);
237ne10_result_t (*ne10_divc_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src, const ne10_vec2f_t * cst, ne10_uint32_t count);
238ne10_result_t (*ne10_divc_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src, const ne10_vec3f_t * cst, ne10_uint32_t count);
239ne10_result_t (*ne10_divc_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src, const ne10_vec4f_t * cst, ne10_uint32_t count);
240ne10_result_t (*ne10_setc_float) (ne10_float32_t * dst, const ne10_float32_t cst, ne10_uint32_t count);
241ne10_result_t (*ne10_setc_vec2f) (ne10_vec2f_t * dst, const ne10_vec2f_t * cst, ne10_uint32_t count);
242ne10_result_t (*ne10_setc_vec3f) (ne10_vec3f_t * dst, const ne10_vec3f_t * cst, ne10_uint32_t count);
243ne10_result_t (*ne10_setc_vec4f) (ne10_vec4f_t * dst, const ne10_vec4f_t * cst, ne10_uint32_t count);
244ne10_result_t (*ne10_mlac_float) (ne10_float32_t * dst, ne10_float32_t * acc, ne10_float32_t * src, const ne10_float32_t cst, ne10_uint32_t count);
245ne10_result_t (*ne10_mlac_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * acc, ne10_vec2f_t * src, const ne10_vec2f_t * cst, ne10_uint32_t count);
246ne10_result_t (*ne10_mlac_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * acc, ne10_vec3f_t * src, const ne10_vec3f_t * cst, ne10_uint32_t count);
247ne10_result_t (*ne10_mlac_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * acc, ne10_vec4f_t * src, const ne10_vec4f_t * cst, ne10_uint32_t count);
248ne10_result_t (*ne10_add_float) (ne10_float32_t * dst, ne10_float32_t * src1, ne10_float32_t * src2, ne10_uint32_t count);
249ne10_result_t (*ne10_sub_float) (ne10_float32_t * dst, ne10_float32_t * src1, ne10_float32_t * src2, ne10_uint32_t count);
250ne10_result_t (*ne10_mul_float) (ne10_float32_t * dst, ne10_float32_t * src1, ne10_float32_t * src2, ne10_uint32_t count);
251ne10_result_t (*ne10_div_float) (ne10_float32_t * dst, ne10_float32_t * src1, ne10_float32_t * src2, ne10_uint32_t count);
252ne10_result_t (*ne10_mla_float) (ne10_float32_t * dst, ne10_float32_t * acc, ne10_float32_t * src1, ne10_float32_t * src2, ne10_uint32_t count);
253ne10_result_t (*ne10_abs_float) (ne10_float32_t * dst, ne10_float32_t * src, ne10_uint32_t count);
254ne10_result_t (*ne10_len_vec2f) (ne10_float32_t * dst, ne10_vec2f_t * src, ne10_uint32_t count);
255ne10_result_t (*ne10_len_vec3f) (ne10_float32_t * dst, ne10_vec3f_t * src, ne10_uint32_t count);
256ne10_result_t (*ne10_len_vec4f) (ne10_float32_t * dst, ne10_vec4f_t * src, ne10_uint32_t count);
257ne10_result_t (*ne10_normalize_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src, ne10_uint32_t count);
258ne10_result_t (*ne10_normalize_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src, ne10_uint32_t count);
259ne10_result_t (*ne10_normalize_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src, ne10_uint32_t count);
260
261ne10_result_t (*ne10_abs_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src, ne10_uint32_t count);
262ne10_result_t (*ne10_abs_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src, ne10_uint32_t count);
263ne10_result_t (*ne10_abs_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src, ne10_uint32_t count);
264ne10_result_t (*ne10_vmul_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src1, ne10_vec2f_t * src2, ne10_uint32_t count);
265ne10_result_t (*ne10_vmul_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src1, ne10_vec3f_t * src2, ne10_uint32_t count);
266ne10_result_t (*ne10_vmul_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src1, ne10_vec4f_t * src2, ne10_uint32_t count);
267ne10_result_t (*ne10_vdiv_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src1, ne10_vec2f_t * src2, ne10_uint32_t count);
268ne10_result_t (*ne10_vdiv_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src1, ne10_vec3f_t * src2, ne10_uint32_t count);
269ne10_result_t (*ne10_vdiv_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src1, ne10_vec4f_t * src2, ne10_uint32_t count);
270ne10_result_t (*ne10_vmla_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * acc, ne10_vec2f_t * src1, ne10_vec2f_t * src2, ne10_uint32_t count);
271ne10_result_t (*ne10_vmla_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * acc, ne10_vec3f_t * src1, ne10_vec3f_t * src2, ne10_uint32_t count);
272ne10_result_t (*ne10_vmla_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * acc, ne10_vec4f_t * src1, ne10_vec4f_t * src2, ne10_uint32_t count);
273ne10_result_t (*ne10_add_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src1, ne10_vec2f_t * src2, ne10_uint32_t count);
274ne10_result_t (*ne10_add_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src1, ne10_vec3f_t * src2, ne10_uint32_t count);
275ne10_result_t (*ne10_add_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src1, ne10_vec4f_t * src2, ne10_uint32_t count);
276ne10_result_t (*ne10_sub_vec2f) (ne10_vec2f_t * dst, ne10_vec2f_t * src1, ne10_vec2f_t * src2, ne10_uint32_t count);
277ne10_result_t (*ne10_sub_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src1, ne10_vec3f_t * src2, ne10_uint32_t count);
278ne10_result_t (*ne10_sub_vec4f) (ne10_vec4f_t * dst, ne10_vec4f_t * src1, ne10_vec4f_t * src2, ne10_uint32_t count);
279ne10_result_t (*ne10_dot_vec2f) (ne10_float32_t * dst, ne10_vec2f_t * src1, ne10_vec2f_t * src2, ne10_uint32_t count);
280ne10_result_t (*ne10_dot_vec3f) (ne10_float32_t * dst, ne10_vec3f_t * src1, ne10_vec3f_t * src2, ne10_uint32_t count);
281ne10_result_t (*ne10_dot_vec4f) (ne10_float32_t * dst, ne10_vec4f_t * src1, ne10_vec4f_t * src2, ne10_uint32_t count);
282ne10_result_t (*ne10_cross_vec3f) (ne10_vec3f_t * dst, ne10_vec3f_t * src1, ne10_vec3f_t * src2, ne10_uint32_t count);
283
284ne10_result_t (*ne10_addmat_2x2f) (ne10_mat2x2f_t * dst, ne10_mat2x2f_t * src1, ne10_mat2x2f_t * src2, ne10_uint32_t count);
285ne10_result_t (*ne10_addmat_3x3f) (ne10_mat3x3f_t * dst, ne10_mat3x3f_t * src1, ne10_mat3x3f_t * src2, ne10_uint32_t count);
286ne10_result_t (*ne10_addmat_4x4f) (ne10_mat4x4f_t * dst, ne10_mat4x4f_t * src1, ne10_mat4x4f_t * src2, ne10_uint32_t count);
287ne10_result_t (*ne10_submat_2x2f) (ne10_mat2x2f_t * dst, ne10_mat2x2f_t * src1, ne10_mat2x2f_t * src2, ne10_uint32_t count);
288ne10_result_t (*ne10_submat_3x3f) (ne10_mat3x3f_t * dst, ne10_mat3x3f_t * src1, ne10_mat3x3f_t * src2, ne10_uint32_t count);
289ne10_result_t (*ne10_submat_4x4f) (ne10_mat4x4f_t * dst, ne10_mat4x4f_t * src1, ne10_mat4x4f_t * src2, ne10_uint32_t count);
290ne10_result_t (*ne10_mulmat_2x2f) (ne10_mat2x2f_t * dst, ne10_mat2x2f_t * src1, ne10_mat2x2f_t * src2, ne10_uint32_t count);
291ne10_result_t (*ne10_mulmat_3x3f) (ne10_mat3x3f_t * dst, ne10_mat3x3f_t * src1, ne10_mat3x3f_t * src2, ne10_uint32_t count);
292ne10_result_t (*ne10_mulmat_4x4f) (ne10_mat4x4f_t * dst, ne10_mat4x4f_t * src1, ne10_mat4x4f_t * src2, ne10_uint32_t count);
293ne10_result_t (*ne10_mulcmatvec_cm4x4f_v4f) (ne10_vec4f_t * dst, const ne10_mat4x4f_t * cst, ne10_vec4f_t * src, ne10_uint32_t count);
294ne10_result_t (*ne10_mulcmatvec_cm3x3f_v3f) (ne10_vec3f_t * dst, const ne10_mat3x3f_t * cst, ne10_vec3f_t * src, ne10_uint32_t count);
295ne10_result_t (*ne10_mulcmatvec_cm2x2f_v2f) (ne10_vec2f_t * dst, const ne10_mat2x2f_t * cst, ne10_vec2f_t * src, ne10_uint32_t count);
296ne10_result_t (*ne10_detmat_4x4f) (ne10_float32_t * dst, ne10_mat4x4f_t * src, ne10_uint32_t count);
297ne10_result_t (*ne10_detmat_3x3f) (ne10_float32_t * dst, ne10_mat3x3f_t * src, ne10_uint32_t count);
298ne10_result_t (*ne10_detmat_2x2f) (ne10_float32_t * dst, ne10_mat2x2f_t * src, ne10_uint32_t count);
299ne10_result_t (*ne10_invmat_4x4f) (ne10_mat4x4f_t * dst, ne10_mat4x4f_t * src, ne10_uint32_t count);
300ne10_result_t (*ne10_invmat_3x3f) (ne10_mat3x3f_t * dst, ne10_mat3x3f_t * src, ne10_uint32_t count);
301ne10_result_t (*ne10_invmat_2x2f) (ne10_mat2x2f_t * dst, ne10_mat2x2f_t * src, ne10_uint32_t count);
302ne10_result_t (*ne10_transmat_4x4f) (ne10_mat4x4f_t * dst, ne10_mat4x4f_t * src, ne10_uint32_t count);
303ne10_result_t (*ne10_identitymat_4x4f) (ne10_mat4x4f_t * dst, ne10_uint32_t count);
304ne10_result_t (*ne10_transmat_3x3f) (ne10_mat3x3f_t * dst, ne10_mat3x3f_t * src, ne10_uint32_t count);
305ne10_result_t (*ne10_identitymat_3x3f) (ne10_mat3x3f_t * dst, ne10_uint32_t count);
306ne10_result_t (*ne10_transmat_2x2f) (ne10_mat2x2f_t * dst, ne10_mat2x2f_t * src, ne10_uint32_t count);
307ne10_result_t (*ne10_identitymat_2x2f) (ne10_mat2x2f_t * dst, ne10_uint32_t count);
ne10_result_t(* ne10_abs_float)(ne10_float32_t *dst, ne10_float32_t *src, ne10_uint32_t count)
Calculates the absolute value of each element in the source array and stores the result in the corres...
ne10_result_t(* ne10_abs_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, ne10_uint32_t count)
Generates a 3D vector from the absolute values of each of the components of an input vector.
ne10_result_t(* ne10_abs_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, ne10_uint32_t count)
Generates a 2D vector from the absolute values of each of the components of an input vector.
ne10_result_t(* ne10_abs_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, ne10_uint32_t count)
Generates a 4D vector from the absolute values of each of the components of an input vector.
ne10_result_t(* ne10_addmat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Vector addition of two 3x3 matrixs.
ne10_result_t(* ne10_addmat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Vector addition of two 4x4 matrixs.
ne10_result_t(* ne10_addmat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Vector addition of two 2x2 matrixs.
ne10_result_t(* ne10_add_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Vector addition of two 4D vectors.
ne10_result_t(* ne10_add_float)(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Adds the elements of src1 to the elements of src2 and stores the results in the dst.
ne10_result_t(* ne10_addc_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Adds a constant 2D vector to all of the vectors in an input array and stores the results in an output...
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...
ne10_result_t(* ne10_add_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Vector addition of two 2D vectors.
ne10_result_t(* ne10_add_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Vector addition of two 3D vectors.
ne10_result_t(* ne10_addc_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Adds a constant 4D vector to all of the vectors in an input array and stores the results in an output...
ne10_result_t(* ne10_addc_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Adds a constant 3D vector to all of the vectors in an input array and stores the results in an output...
ne10_result_t(* ne10_cross_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Performs a cross product operation on the two input vectors.
ne10_result_t(* ne10_detmat_3x3f)(ne10_float32_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count)
Calculate the determinant of a 3x3 matrix.
ne10_result_t(* ne10_detmat_2x2f)(ne10_float32_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count)
Calculate the determinant of a 2x2 matrix.
ne10_result_t(* ne10_detmat_4x4f)(ne10_float32_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count)
Calculate the determinant of a 4x4 matrix.
ne10_result_t(* ne10_vdiv_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Divides the components of a 2D vector with the corresponding components of another.
ne10_result_t(* ne10_divc_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Divides the components of 3D vectors in an input array with the components of a constant 3D vector an...
ne10_result_t(* ne10_vdiv_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Divides the components of a 3D vector with the corresponding components of another.
ne10_result_t(* ne10_divc_float)(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Divides the elements of an input array by a constant scalar and stores the results in an output array...
ne10_result_t(* ne10_divc_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Divides the components of 2D vectors in an input array with the components of a constant 2D vector an...
ne10_result_t(* ne10_vdiv_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Divides the components of a 4D vector with the corresponding components of another.
ne10_result_t(* ne10_divc_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Divides the components of 4D vectors in an input array with the components of a constant 4D vector an...
ne10_result_t(* ne10_div_float)(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Divides the elements of src1 by the elements of src2 and stores the results in the dst.
ne10_result_t(* ne10_dot_vec3f)(ne10_float32_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Dot product of two 3D vectors.
ne10_result_t(* ne10_dot_vec2f)(ne10_float32_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Dot product of two 2D vectors.
ne10_result_t(* ne10_dot_vec4f)(ne10_float32_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Dot product of two 4D vectors.
ne10_result_t(* ne10_identitymat_4x4f)(ne10_mat4x4f_t *dst, ne10_uint32_t count)
Set the identity matrix of a 2x2 matrix.
ne10_result_t(* ne10_identitymat_3x3f)(ne10_mat3x3f_t *dst, ne10_uint32_t count)
Set the identity matrix of a 3x3 matrix.
ne10_result_t(* ne10_identitymat_2x2f)(ne10_mat2x2f_t *dst, ne10_uint32_t count)
Set the identity matrix of a 2x2 matrix.
ne10_result_t(* ne10_invmat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count)
Calculate the invertible matrix of a 3x3 matrix.
ne10_result_t(* ne10_invmat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count)
Calculate the invertible matrix of a 2x2 matrix.
ne10_result_t(* ne10_invmat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count)
Calculate the invertible matrix of a 4x4 matrix.
ne10_result_t(* ne10_len_vec4f)(ne10_float32_t *dst, ne10_vec4f_t *src, ne10_uint32_t count)
Returns length of 4D vectors in corresponding elements of the output array.
ne10_result_t(* ne10_len_vec3f)(ne10_float32_t *dst, ne10_vec3f_t *src, ne10_uint32_t count)
Returns length of 3D vectors in corresponding elements of the output array.
ne10_result_t(* ne10_len_vec2f)(ne10_float32_t *dst, ne10_vec2f_t *src, ne10_uint32_t count)
Returns length of 2D vectors in corresponding elements of the output array.
ne10_result_t(* ne10_mlac_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Multiplies each entry in the source array (src) by the 3D vector cst, then adds the result to the cor...
ne10_result_t(* ne10_mlac_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Multiplies each entry in the source array (src) by the 4D vector cst, then adds the result to the cor...
ne10_result_t(* ne10_vmla_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Performs a multiply and accumulate operation on the components of a 4D vector with the corresponding ...
ne10_result_t(* ne10_mla_float)(ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Performs a multiply and accumulate operation using the corresponding elements in acc,...
ne10_result_t(* ne10_vmla_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Performs a multiply and accumulate operation on the components of a 3D vector with the corresponding ...
ne10_result_t(* ne10_mlac_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Multiplies each entry in the source array (src) by the 2D vector cst, then adds the result to the cor...
ne10_result_t(* ne10_mlac_float)(ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Multiplies each entry in the source array (src) by cst, then adds the result to the corresponding ite...
ne10_result_t(* ne10_vmla_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Performs a multiply and accumulate operation on the components of a 2D vector with the corresponding ...
ne10_result_t(* ne10_mulcmatvec_cm2x2f_v2f)(ne10_vec2f_t *dst, const ne10_mat2x2f_t *cst, ne10_vec2f_t *src, ne10_uint32_t count)
Matrix multiplication of 2x2 matrix and 2D vector.
ne10_result_t(* ne10_mulcmatvec_cm3x3f_v3f)(ne10_vec3f_t *dst, const ne10_mat3x3f_t *cst, ne10_vec3f_t *src, ne10_uint32_t count)
Matrix multiplication of 3x3 matrix and 3D vector.
ne10_result_t(* ne10_mulcmatvec_cm4x4f_v4f)(ne10_vec4f_t *dst, const ne10_mat4x4f_t *cst, ne10_vec4f_t *src, ne10_uint32_t count)
Matrix multiplication of 4x4 matrix and 4D vector.
ne10_result_t(* ne10_mulmat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Matrix multiplication of two 4x4 matrixs.
ne10_result_t(* ne10_mulmat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Matrix multiplication of two 3x3 matrixs.
ne10_result_t(* ne10_mulmat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Matrix multiplication of two 2x2 matrixs.
ne10_result_t(* ne10_mulc_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Multiplies the components of 3D vectors in an input array by the components of a constant 3D vector a...
ne10_result_t(* ne10_vmul_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Multiplies the components of a 4D vector with the corresponding components of another.
ne10_result_t(* ne10_vmul_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Multiplies the components of a 2D vector with the corresponding components of another.
ne10_result_t(* ne10_mulc_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Multiplies the components of 2D vectors in an input array by the components of a constant 2D vector a...
ne10_result_t(* ne10_mulc_float)(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Multiplies the elements of an input array by a constant scalar and stores the results in an output ar...
ne10_result_t(* ne10_mulc_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Multiplies the components of 4D vectors in an input array by the components of a constant 4D vector a...
ne10_result_t(* ne10_mul_float)(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Multiplies the elements of src1 by the elements of src2 and stores the results in the dst.
ne10_result_t(* ne10_vmul_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Multiplies the components of a 3D vector with the corresponding components of another.
ne10_result_t(* ne10_normalize_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, ne10_uint32_t count)
Normalizes 3D vectors of the input array and stores them in the corresponding elements of the output ...
ne10_result_t(* ne10_normalize_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, ne10_uint32_t count)
Normalizes 2D vectors of the input array and stores them in the corresponding elements of the output ...
ne10_result_t(* ne10_normalize_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, ne10_uint32_t count)
Normalizes 4D vectors of the input array and stores them in the corresponding elements of the output ...
ne10_result_t(* ne10_rsbc_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Subtracts the vectors in an input array from a constant 2D vector and stores the results in an output...
ne10_result_t(* ne10_rsbc_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Subtracts the vectors in an input array from a constant 3D vector and stores the results in an output...
ne10_result_t(* ne10_rsbc_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Subtracts the vectors in an input array from a constant 4D vector and stores the results in an output...
ne10_result_t(* ne10_rsbc_float)(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Subtracts the elements of an input array from a constant scalar and stores the results in an output a...
ne10_result_t(* ne10_setc_vec4f)(ne10_vec4f_t *dst, const ne10_vec4f_t *cst, ne10_uint32_t count)
Sets the components of 4D vectors in an input array to the components of a constant 3D vector and sto...
ne10_result_t(* ne10_setc_float)(ne10_float32_t *dst, const ne10_float32_t cst, ne10_uint32_t count)
Sets the elements of an input array to a constant scalar and stores the results in an output array.
ne10_result_t(* ne10_setc_vec2f)(ne10_vec2f_t *dst, const ne10_vec2f_t *cst, ne10_uint32_t count)
Sets the components of 2D vectors in an input array to the components of a constant 2D vector and sto...
ne10_result_t(* ne10_setc_vec3f)(ne10_vec3f_t *dst, const ne10_vec3f_t *cst, ne10_uint32_t count)
Sets the components of 3D vectors in an input array to the components of a constant 3D vector and sto...
ne10_result_t(* ne10_submat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Matrix subtraction of two 3x3 matrixs.
ne10_result_t(* ne10_submat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Matrix subtraction of two 4x4 matrixs.
ne10_result_t(* ne10_submat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Matrix subtraction of two 2x2 matrixs.
ne10_result_t(* ne10_subc_float)(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Subtracts a constant scalar from all the elements of an input array and stores the results in an outp...
ne10_result_t(* ne10_sub_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Vector subtraction of two 2D vectors.
ne10_result_t(* ne10_sub_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Vector subtraction of two 4D vectors.
ne10_result_t(* ne10_sub_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Vector subtraction of two 3D vectors.
ne10_result_t(* ne10_sub_float)(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Subtracts the elements of src2 from the elements of src1 and stores the results in the dst.
ne10_result_t(* ne10_subc_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Subtracts a constant 3D vector from all of the vectors in an input array and stores the results in an...
ne10_result_t(* ne10_subc_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Subtracts a constant 2D vector from all of the vectors in an input array and stores the results in an...
ne10_result_t(* ne10_subc_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Subtracts a constant 4D vector from all of the vectors in an input array and stores the results in an...
ne10_result_t(* ne10_transmat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count)
Calculate the transpose matrix of a 4x4 matrix.
ne10_result_t(* ne10_transmat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count)
Calculate the transpose matrix of a 4x4 matrix.
ne10_result_t(* ne10_transmat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count)
Calculate the transpose matrix of a 3x3 matrix.
a 2-tuple of ne10_float32_t values.
Definition NE10_types.h:88
a 3-tuple of ne10_float32_t values.
Definition NE10_types.h:97
a 4-tuple of ne10_float32_t values.
Definition NE10_types.h:107