Project Ne10
An open, optimized software library for the ARM architecture.
NE10_init_math.c
Go to the documentation of this file.
1 /*
2  * Copyright 2011-16 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 
33 {
34  if (NE10_OK == is_NEON_available)
35  {
76 
99 
124  }
125  else
126  {
167 
190 
215  }
216  return NE10_OK;
217 }
218 
219 // These are actual definitions of our function pointers that are declared in inc/NE10_types.h
260 
283 
ne10_result_t(* ne10_detmat_4x4f)(ne10_float32_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count)
Calculates the determinant of 4x4 matrices within an input array, storing the results in an output ar...
ne10_result_t ne10_mlac_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mlac_vec2f using plain C code.
Definition: NE10_mlac.c:47
ne10_result_t(* ne10_mulc_float)(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Multiplies all scalar elements of an input array by a constant value, storing the results in an outpu...
ne10_result_t ne10_len_vec3f_c(ne10_float32_t *dst, ne10_vec3f_t *src, ne10_uint32_t count)
Specific implementation of ne10_len_vec3f using plain C code.
Definition: NE10_len.c:50
ne10_result_t(* ne10_mul_float)(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Multiplies the scalar elements of one input array by those of the same index in another, storing the results in an output array.
ne10_result_t(* ne10_vdiv_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Element-wise divides the 4D vectors of one input array by those of the same index in another...
ne10_result_t(* ne10_add_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Adds the 4D vectors of one input array with those of the same index in another, storing the results i...
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 value from all elements of an input array, storing the results in an outp...
ne10_result_t(* ne10_addmat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Adds the 2x2 matrices of one input array with those of the same index in another, storing the results...
ne10_result_t ne10_addc_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count) asm("ne10_addc_vec4f_neon")
Specific implementation of ne10_addc_vec4f using NEON intrinsics.
ne10_result_t ne10_addmat_3x3f_neon(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_addmat_3x3f using NEON intrinsics.
ne10_result_t ne10_subc_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_subc_vec3f using NEON intrinsics.
ne10_result_t ne10_abs_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src, ne10_uint32_t count) asm("ne10_abs_vec4f_neon")
Specific implementation of ne10_abs_vec4f using NEON intrinsics.
ne10_result_t ne10_normalize_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src, ne10_uint32_t count) asm("ne10_normalize_vec3f_neon")
Specific implementation of ne10_normalize_vec3f using NEON intrinsics.
ne10_result_t(* ne10_sub_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Subtracts the 4D vectors of one input array from those of the same index in another, storing the results in an output array.
ne10_result_t(* ne10_mulcmatvec_cm4x4f_v4f)(ne10_vec4f_t *dst, const ne10_mat4x4f_t *cst, ne10_vec4f_t *src, ne10_uint32_t count)
Multiplies the 4x4 matrices of one input array by the 4D vectors of the same index in another...
ne10_result_t ne10_addc_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count) asm("ne10_addc_vec3f_neon")
Specific implementation of ne10_addc_vec3f using NEON intrinsics.
ne10_result_t ne10_mulc_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mulc_vec2f using plain C code.
Definition: NE10_mulc.c:47
ne10_result_t ne10_mlac_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mlac_vec4f using plain C code.
Definition: NE10_mlac.c:70
ne10_result_t(* ne10_add_float)(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Adds the scalar elements of one input array with those of the same index in another, storing the results in an output array.
ne10_result_t ne10_cross_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_cross_vec3f using plain C code.
Definition: NE10_cross.c:37
ne10_result_t ne10_abs_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src, ne10_uint32_t count) asm("ne10_abs_vec2f_neon")
Specific implementation of ne10_abs_vec2f using NEON intrinsics.
ne10_result_t(* ne10_add_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Adds the 3D vectors of one input array with those of the same index in another, storing the results i...
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)
Element-wise multiplies all the 3D vector elements of an input array by those of the same index in an...
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)
Element-wise multiplies all the 2D vectors of an input array by a constant vector, adding this vector to another of the same index in another input array, and storing the results in an output array.
ne10_result_t(* ne10_len_vec2f)(ne10_float32_t *dst, ne10_vec2f_t *src, ne10_uint32_t count)
Calculates the magnitude of 2D vectors within an input array, storing the results in an output array...
ne10_result_t ne10_divc_float_c(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_divc_float using plain C code.
Definition: NE10_divc.c:37
ne10_result_t ne10_dot_vec4f_neon(ne10_float32_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count) asm("ne10_dot_vec4f_neon")
Specific implementation of ne10_dot_vec4f using NEON intrinsics.
ne10_result_t ne10_rsbc_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_rsbc_vec2f using NEON intrinsics.
ne10_result_t(* ne10_mulmat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Multiplies the 2x2 matrices of one input array by those of the same index in another, storing the results in an output array.
ne10_result_t ne10_rsbc_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_rsbc_vec2f using plain C code.
Definition: NE10_rsbc.c:47
ne10_result_t ne10_divc_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_divc_vec4f using NEON intrinsics.
ne10_result_t ne10_sub_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count) asm("ne10_sub_vec2f_neon")
Specific implementation of ne10_sub_vec2f using NEON intrinsics.
ne10_result_t(* ne10_dot_vec3f)(ne10_float32_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Calculate the dot product of 3D vectors from one input array with those of the same index in another...
ne10_result_t(* ne10_dot_vec4f)(ne10_float32_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Calculates the dot product of 4D vectors from one input array with those of the same index in another...
ne10_result_t ne10_sub_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count) asm("ne10_sub_vec3f_neon")
Specific implementation of ne10_sub_vec3f using NEON intrinsics.
ne10_result_t ne10_submat_4x4f_neon(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_submat_4x4f using NEON intrinsics.
ne10_result_t ne10_rsbc_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_rsbc_vec3f using plain C code.
Definition: NE10_rsbc.c:58
ne10_result_t ne10_transmat_3x3f_c(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count)
Specific implementation of ne10_transmat_3x3f using plain C code.
Definition: NE10_transmat.c:58
ne10_result_t ne10_transmat_2x2f_c(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count)
Specific implementation of ne10_transmat_2x2f using plain C code.
Definition: NE10_transmat.c:45
ne10_result_t(* ne10_mulc_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Element-wise multiplies all the 4D vectors in an input array by a constant vector, storing the results in an output array.
ne10_result_t ne10_addc_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_addc_vec3f using plain C code.
Definition: NE10_addc.c:58
ne10_result_t(* ne10_normalize_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, ne10_uint32_t count)
Calculates the normalization of 4D vectors within an input array, storing the results in an output ar...
ne10_result_t ne10_vmla_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_vmla_vec4f using plain C code.
Definition: NE10_mla.c:70
A 2-tuple of ne10_float32_t values.
Definition: NE10_types.h:87
ne10_result_t ne10_dot_vec4f_c(ne10_float32_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_dot_vec4f using plain C code.
Definition: NE10_dot.c:60
ne10_result_t ne10_cross_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count) asm("ne10_cross_vec3f_neon")
Specific implementation of ne10_cross_vec3f using NEON intrinsics.
ne10_result_t ne10_normalize_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src, ne10_uint32_t count) asm("ne10_normalize_vec2f_neon")
Specific implementation of ne10_normalize_vec2f using NEON intrinsics.
ne10_result_t(* ne10_len_vec3f)(ne10_float32_t *dst, ne10_vec3f_t *src, ne10_uint32_t count)
Calculates the magnitude of 3D vectors within an input array, storing the results in an output array...
ne10_result_t ne10_detmat_3x3f_c(ne10_float32_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count)
Specific implementation of ne10_detmat_3x3f using plain C code.
Definition: NE10_detmat.c:48
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)
Element-wise multiplies all the 4D vectors of an input array by a constant vector, adding this vector to another of the same index in another input array, and storing the results in an output array.
ne10_result_t ne10_addmat_4x4f_neon(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_addmat_4x4f using NEON intrinsics.
ne10_result_t(* ne10_invmat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count)
Calculates the inverse of 4x4 matrices within an input array, storing the results in an output array...
ne10_result_t ne10_subc_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_subc_vec4f using NEON intrinsics.
ne10_result_t(* ne10_mulmat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Multiplies the 4x4 matrices of one input array by those of the same index in another, storing the results in an output array.
float ne10_float32_t
Definition: NE10_types.h:80
ne10_result_t ne10_submat_4x4f_c(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_submat_4x4f using plain C code.
Definition: NE10_submat.c:71
ne10_result_t ne10_invmat_2x2f_neon(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count) asm("ne10_invmat_2x2f_neon")
Specific implementation of ne10_invmat_2x2f using NEON intrinsics.
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 the vectors in an input array, storing the results in an outp...
ne10_result_t ne10_identitymat_3x3f_neon(ne10_mat3x3f_t *dst, ne10_uint32_t count) asm("ne10_identitymat_3x3f_neon")
Specific implementation of ne10_identitymat_3x3f using NEON intrinsics.
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 the vectors in an input array, storing the results in an outp...
ne10_result_t(* ne10_identitymat_2x2f)(ne10_mat2x2f_t *dst, ne10_uint32_t count)
Sets the elements of an array of 2x2 matrices to the identity matrix.
ne10_result_t(* ne10_submat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Subtracts the 2x2 matrices of one input array from those of the same index in another, storing the results in an output array.
ne10_result_t ne10_invmat_4x4f_neon(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count) asm("ne10_invmat_4x4f_neon")
Specific implementation of ne10_invmat_4x4f using NEON intrinsics.
ne10_result_t ne10_identitymat_2x2f_c(ne10_mat2x2f_t *dst, ne10_uint32_t count)
Specific implementation of ne10_identitymat_2x2f using plain C code.
ne10_result_t ne10_mulcmatvec_cm2x2f_v2f_neon(ne10_vec2f_t *dst, const ne10_mat2x2f_t *cst, ne10_vec2f_t *src, ne10_uint32_t count) asm("ne10_mulcmatvec_cm2x2f_v2f_neon")
Specific implementation of ne10_mulcmatvec_cm2x2f_v2f using NEON intrinsics.
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 the vectors in an input array, storing the results in an output arra...
ne10_result_t ne10_add_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count) asm("ne10_add_vec2f_neon")
Specific implementation of ne10_add_vec2f using NEON intrinsics.
ne10_result_t ne10_add_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_add_vec2f using plain C code.
Definition: NE10_add.c:48
ne10_result_t ne10_add_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_add_vec3f using plain C code.
Definition: NE10_add.c:59
ne10_result_t ne10_abs_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src, ne10_uint32_t count)
Specific implementation of ne10_abs_vec4f using plain C code.
Definition: NE10_abs.c:72
ne10_result_t ne10_identitymat_4x4f_neon(ne10_mat4x4f_t *dst, ne10_uint32_t count) asm("ne10_identitymat_4x4f_neon")
Specific implementation of ne10_identitymat_4x4f using NEON intrinsics.
ne10_result_t ne10_add_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_add_vec4f using plain C code.
Definition: NE10_add.c:71
ne10_result_t ne10_vdiv_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count) asm("ne10_vdiv_vec2f_neon")
Specific implementation of ne10_vdiv_vec2f using NEON intrinsics.
ne10_result_t ne10_normalize_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src, ne10_uint32_t count) asm("ne10_normalize_vec4f_neon")
Specific implementation of ne10_normalize_vec4f using NEON intrinsics.
ne10_result_t(* ne10_abs_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, ne10_uint32_t count)
Calculates the element-wise absolute value of 4D vectors within an input array, storing the results i...
ne10_result_t ne10_vdiv_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_vdiv_vec2f using plain C code.
Definition: NE10_div.c:47
ne10_result_t ne10_addc_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count) asm("ne10_addc_vec2f_neon")
Specific implementation of ne10_addc_vec2f using NEON intrinsics.
ne10_result_t ne10_addmat_2x2f_c(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_addmat_2x2f using plain C code.
Definition: NE10_addmat.c:37
ne10_result_t(* ne10_sub_float)(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Subtracts the scalar elements of one input array from those of the same index in another, storing the results in an output array.
ne10_result_t ne10_detmat_4x4f_neon(ne10_float32_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count) asm("ne10_detmat_4x4f_neon")
Specific implementation of ne10_detmat_4x4f using NEON intrinsics.
ne10_result_t ne10_mulc_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mulc_vec3f using NEON intrinsics.
ne10_result_t(* ne10_setc_float)(ne10_float32_t *dst, const ne10_float32_t cst, ne10_uint32_t count)
Sets the scalar elements of an array to a constant value.
ne10_result_t ne10_identitymat_4x4f_c(ne10_mat4x4f_t *dst, ne10_uint32_t count)
Specific implementation of ne10_identitymat_4x4f using plain C code.
ne10_result_t ne10_mlac_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mlac_vec3f using NEON intrinsics.
ne10_result_t ne10_mulcmatvec_cm4x4f_v4f_c(ne10_vec4f_t *dst, const ne10_mat4x4f_t *cst, ne10_vec4f_t *src, ne10_uint32_t count)
Specific implementation of ne10_mulcmatvec_cm4x4f_v4f using plain C code.
ne10_result_t ne10_addc_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_addc_vec2f using plain C code.
Definition: NE10_addc.c:47
ne10_result_t(* ne10_detmat_2x2f)(ne10_float32_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count)
Calculates the determinant of 2x2 matrices within an input array, storing the results in an output ar...
ne10_result_t ne10_subc_float_c(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_subc_float using plain C code.
Definition: NE10_subc.c:37
ne10_result_t is_NEON_available
Definition: NE10_init.c:37
ne10_result_t ne10_sub_float_neon(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count) asm("ne10_sub_float_neon")
Specific implementation of ne10_sub_float using NEON intrinsics.
ne10_result_t(* ne10_mulcmatvec_cm3x3f_v3f)(ne10_vec3f_t *dst, const ne10_mat3x3f_t *cst, ne10_vec3f_t *src, ne10_uint32_t count)
Multiplies the 3x3 matrices of one input array by the 3D vectors of the same index in another...
ne10_result_t(* ne10_abs_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, ne10_uint32_t count)
Calculates the element-wise absolute value of 3D vectors within an input array, storing the results i...
ne10_result_t ne10_mulc_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mulc_vec3f using plain C code.
Definition: NE10_mulc.c:58
ne10_result_t(* ne10_add_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Adds the 2D vectors of one input array with those of the same index in another, storing the results i...
ne10_result_t(* ne10_detmat_3x3f)(ne10_float32_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count)
Calculates the determinant of 3x3 matrices within an input array, storing the results in an output ar...
ne10_result_t ne10_mulc_float_neon(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_mulc_float using NEON intrinsics.
uint32_t ne10_uint32_t
Definition: NE10_types.h:77
ne10_result_t ne10_sub_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_sub_vec4f using plain C code.
Definition: NE10_sub.c:70
ne10_result_t ne10_mulmat_3x3f_neon(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count) asm("ne10_mulmat_3x3f_neon")
Specific implementation of ne10_mulmat_3x3f using NEON intrinsics.
ne10_result_t ne10_mulc_float_c(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_mulc_float using plain C code.
Definition: NE10_mulc.c:37
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 the vectors in an input array, storing the results in an output arra...
ne10_result_t(* ne10_sub_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Subtracts the 3D vectors of one input array from those of the same index in another, storing the results in an output array.
ne10_result_t ne10_len_vec4f_c(ne10_float32_t *dst, ne10_vec4f_t *src, ne10_uint32_t count)
Specific implementation of ne10_len_vec4f using plain C code.
Definition: NE10_len.c:62
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)
Element-wise multiplies all the 2D vector elements of an input array by those of the same index in an...
ne10_result_t ne10_setc_vec4f_neon(ne10_vec4f_t *dst, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_setc_vec4f using NEON intrinsics.
ne10_result_t ne10_identitymat_3x3f_c(ne10_mat3x3f_t *dst, ne10_uint32_t count)
Specific implementation of ne10_identitymat_3x3f using plain C code.
ne10_result_t(* ne10_setc_vec2f)(ne10_vec2f_t *dst, const ne10_vec2f_t *cst, ne10_uint32_t count)
Sets the 2D vector elements of an array to a constant vector.
ne10_result_t(* ne10_transmat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count)
Calculates the transpose of 3x3 matrices within an input array, storing the results in an output arra...
ne10_result_t(* ne10_mulc_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Element-wise multiplies all the 2D vectors in an input array by a constant vector, storing the results in an output array.
ne10_result_t ne10_normalize_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src, ne10_uint32_t count)
Specific implementation of ne10_normalize_vec4f using plain C code.
ne10_result_t ne10_vmla_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_vmla_vec3f using plain C code.
Definition: NE10_mla.c:58
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)
Element-wise multiplies all the 3D vectors of an input array by a constant vector, adding this vector to another of the same index in another input array, and storing the results in an output array.
ne10_result_t(* ne10_submat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Subtracts the 3x3 matrices of one input array from those of the same index in another, storing the results in an output array.
ne10_result_t ne10_normalize_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src, ne10_uint32_t count)
Specific implementation of ne10_normalize_vec3f using plain C code.
ne10_result_t ne10_mulcmatvec_cm3x3f_v3f_neon(ne10_vec3f_t *dst, const ne10_mat3x3f_t *cst, ne10_vec3f_t *src, ne10_uint32_t count) asm("ne10_mulcmatvec_cm3x3f_v3f_neon")
Specific implementation of ne10_mulcmatvec_cm3x3f_v3f using NEON intrinsics.
ne10_result_t(* ne10_divc_float)(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Divides all scalar elements of an input array by a constant value, storing the results in an output a...
ne10_result_t ne10_setc_vec2f_neon(ne10_vec2f_t *dst, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_setc_vec2f using NEON intrinsics.
ne10_result_t ne10_submat_2x2f_neon(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_submat_2x2f using NEON intrinsics.
ne10_result_t ne10_vdiv_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count) asm("ne10_vdiv_vec4f_neon")
Specific implementation of ne10_vdiv_vec4f using NEON intrinsics.
ne10_result_t ne10_len_vec2f_c(ne10_float32_t *dst, ne10_vec2f_t *src, ne10_uint32_t count)
Specific implementation of ne10_len_vec2f using plain C code.
Definition: NE10_len.c:39
ne10_result_t ne10_divc_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_divc_vec3f using NEON intrinsics.
ne10_result_t ne10_abs_float_c(ne10_float32_t *dst, ne10_float32_t *src, ne10_uint32_t count)
Specific implementation of ne10_abs_float using plain C code.
Definition: NE10_abs.c:39
ne10_result_t(* ne10_transmat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count)
Calculates the transpose of 4x4 matrices within an input array, storing the results in an output arra...
ne10_result_t ne10_rsbc_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_rsbc_vec3f using NEON intrinsics.
ne10_result_t(* ne10_setc_vec3f)(ne10_vec3f_t *dst, const ne10_vec3f_t *cst, ne10_uint32_t count)
Sets the 3D vector elements of an array to a constant vector.
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")
Specific implementation of ne10_addc_float using NEON intrinsics.
ne10_result_t ne10_vmla_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_vmla_vec2f using plain C code.
Definition: NE10_mla.c:47
ne10_result_t ne10_vmul_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_vmul_vec3f using plain C code.
Definition: NE10_mul.c:58
ne10_result_t ne10_identitymat_2x2f_neon(ne10_mat2x2f_t *dst, ne10_uint32_t count) asm("ne10_identitymat_2x2f_neon")
Specific implementation of ne10_identitymat_2x2f using NEON intrinsics.
ne10_result_t ne10_vmla_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count) asm("ne10_vmla_vec2f_neon")
Specific implementation of ne10_vmla_vec2f using NEON intrinsics.
ne10_result_t ne10_vdiv_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count) asm("ne10_vdiv_vec3f_neon")
Specific implementation of ne10_vdiv_vec3f using NEON intrinsics.
ne10_result_t(* ne10_mulcmatvec_cm2x2f_v2f)(ne10_vec2f_t *dst, const ne10_mat2x2f_t *cst, ne10_vec2f_t *src, ne10_uint32_t count)
Multiplies the 2x2 matrices of one input array by the 2D vectors of the same index in another...
ne10_result_t ne10_mulcmatvec_cm2x2f_v2f_c(ne10_vec2f_t *dst, const ne10_mat2x2f_t *cst, ne10_vec2f_t *src, ne10_uint32_t count)
Specific implementation of ne10_mulcmatvec_cm2x2f_v2f using plain C code.
ne10_result_t(* ne10_sub_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Subtracts the 2D vectors of one input array from those of the same index in another, storing the results in an output array.
ne10_result_t(* ne10_rsbc_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Subtracts all the 4D vectors in an input array from a constant vector, storing the results in an outp...
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 the vectors in an input array, storing the results in an outp...
ne10_result_t ne10_div_float_c(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Specific implementation of ne10_div_float using plain C code.
Definition: NE10_div.c:37
ne10_result_t(* ne10_addmat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Adds the 3x3 matrices of one input array with those of the same index in another, storing the results...
ne10_result_t(* ne10_rsbc_float)(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Subtracts all scalar elements of an input array from a constant value, storing the results in an outp...
ne10_result_t(* ne10_setc_vec4f)(ne10_vec4f_t *dst, const ne10_vec4f_t *cst, ne10_uint32_t count)
Sets the 4D vector elements of an array to a constant vector.
ne10_result_t(* ne10_normalize_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, ne10_uint32_t count)
Calculates the normalization of 2D vectors within an input array, storing the results in an output ar...
ne10_result_t ne10_mul_float_neon(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count) asm("ne10_mul_float_neon")
Specific implementation of ne10_mul_float using NEON intrinsics.
ne10_result_t ne10_vmul_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_vmul_vec2f using plain C code.
Definition: NE10_mul.c:47
ne10_result_t ne10_mulmat_2x2f_neon(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count) asm("ne10_mulmat_2x2f_neon")
Specific implementation of ne10_mulmat_2x2f using NEON intrinsics.
ne10_result_t(* ne10_normalize_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, ne10_uint32_t count)
Calculates the normalization of 3D vectors within an input array, storing the results in an output ar...
ne10_result_t(* ne10_div_float)(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Divides the scalar elements of one input array by those of the same index in another, storing the results in an output array.
ne10_result_t ne10_detmat_2x2f_c(ne10_float32_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count)
Specific implementation of ne10_detmat_2x2f using plain C code.
Definition: NE10_detmat.c:38
ne10_result_t ne10_dot_vec3f_c(ne10_float32_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_dot_vec3f using plain C code.
Definition: NE10_dot.c:48
ne10_result_t ne10_mulcmatvec_cm4x4f_v4f_neon(ne10_vec4f_t *dst, const ne10_mat4x4f_t *cst, ne10_vec4f_t *src, ne10_uint32_t count) asm("ne10_mulcmatvec_cm4x4f_v4f_neon")
Specific implementation of ne10_mulcmatvec_cm4x4f_v4f using NEON intrinsics.
ne10_result_t ne10_transmat_3x3f_neon(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count) asm("ne10_transmat_3x3f_neon")
Specific implementation of ne10_transmat_3x3f using NEON intrinsics.
ne10_result_t ne10_init_math(int is_NEON_available)
ne10_result_t ne10_vmul_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count) asm("ne10_vmul_vec4f_neon")
Specific implementation of ne10_vmul_vec4f using NEON intrinsics.
A 3-tuple of ne10_float32_t values.
Definition: NE10_types.h:96
ne10_result_t(* ne10_divc_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Element-wise divides all the 2D vectors in an input array by a constant vector, storing the results i...
ne10_result_t ne10_mlac_float_neon(ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_mlac_float using NEON intrinsics.
ne10_result_t(* ne10_cross_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Calculate the cross product of 3D vectors from one input array with those of the same index in anothe...
ne10_result_t ne10_detmat_4x4f_c(ne10_float32_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count)
Specific implementation of ne10_detmat_4x4f using plain C code.
Definition: NE10_detmat.c:58
ne10_result_t ne10_submat_3x3f_neon(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_submat_3x3f using NEON intrinsics.
ne10_result_t ne10_addc_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_addc_vec4f using plain C code.
Definition: NE10_addc.c:70
ne10_result_t(* ne10_dot_vec2f)(ne10_float32_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Calculates the dot product of 2D vectors from one input array with those of the same index in another...
ne10_result_t ne10_mlac_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mlac_vec3f using plain C code.
Definition: NE10_mlac.c:58
ne10_result_t ne10_addc_float_c(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_addc_float using plain C code.
Definition: NE10_addc.c:37
ne10_result_t ne10_setc_vec3f_neon(ne10_vec3f_t *dst, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_setc_vec3f using NEON intrinsics.
ne10_result_t ne10_setc_vec3f_c(ne10_vec3f_t *dst, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_setc_vec3f using plain C code.
Definition: NE10_setc.c:58
ne10_result_t ne10_abs_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src, ne10_uint32_t count) asm("ne10_abs_vec3f_neon")
Specific implementation of ne10_abs_vec3f using NEON intrinsics.
ne10_result_t ne10_mulc_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mulc_vec4f using plain C code.
Definition: NE10_mulc.c:70
ne10_result_t ne10_rsbc_float_neon(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_rsbc_float using NEON intrinsics.
ne10_result_t ne10_len_vec2f_neon(ne10_float32_t *dst, ne10_vec2f_t *src, ne10_uint32_t count) asm("ne10_len_vec2f_neon")
Specific implementation of ne10_len_vec2f using NEON intrinsics.
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 elements of an input array, storing the results in an output arra...
ne10_result_t ne10_abs_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src, ne10_uint32_t count)
Specific implementation of ne10_abs_vec2f using plain C code.
Definition: NE10_abs.c:49
ne10_result_t ne10_mulmat_2x2f_c(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_mulmat_2x2f using plain C code.
Definition: NE10_mulmat.c:37
ne10_result_t ne10_setc_vec2f_c(ne10_vec2f_t *dst, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_setc_vec2f using plain C code.
Definition: NE10_setc.c:47
ne10_result_t ne10_submat_3x3f_c(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_submat_3x3f using plain C code.
Definition: NE10_submat.c:51
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)
Multiplies all scalar elements of an input array by those of the same index in another, adding this product to a value of the same index in yet another input array, and storing the results in an output array.
ne10_result_t ne10_abs_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src, ne10_uint32_t count)
Specific implementation of ne10_abs_vec3f using plain C code.
Definition: NE10_abs.c:60
ne10_result_t(* ne10_addmat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Adds the 4x4 matrices of one input array with those of the same index in another, storing the results...
ne10_result_t ne10_add_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count) asm("ne10_add_vec3f_neon")
Specific implementation of ne10_add_vec3f using NEON intrinsics.
ne10_result_t ne10_abs_float_neon(ne10_float32_t *dst, ne10_float32_t *src, ne10_uint32_t count) asm("ne10_abs_float_neon")
Specific implementation of ne10_abs_float using NEON intrinsics.
ne10_result_t(* ne10_vmul_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Element-wise multiplies the 3D vectors of one input array by those of the same index in another...
ne10_result_t ne10_divc_float_neon(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_divc_float using NEON intrinsics.
ne10_result_t(* ne10_abs_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, ne10_uint32_t count)
Calculates the element-wise absolute value of 2D vectors within an input array, storing the results i...
ne10_result_t(* ne10_invmat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count)
Calculates the inverse of 2x2 matrices within an input array, storing the results in an output array...
ne10_result_t ne10_vmul_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count) asm("ne10_vmul_vec3f_neon")
Specific implementation of ne10_vmul_vec3f using NEON intrinsics.
ne10_result_t ne10_rsbc_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_rsbc_vec4f using plain C code.
Definition: NE10_rsbc.c:70
ne10_result_t ne10_dot_vec2f_c(ne10_float32_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_dot_vec2f using plain C code.
Definition: NE10_dot.c:37
ne10_result_t ne10_subc_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_subc_vec2f using plain C code.
Definition: NE10_subc.c:47
ne10_result_t(* ne10_mulc_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Element-wise multiplies all the 3D vectors in an input array by a constant vector, storing the results in an output array.
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 the vectors in an input array, storing the results in an output arra...
ne10_result_t ne10_transmat_4x4f_c(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count)
Specific implementation of ne10_transmat_4x4f using plain C code.
Definition: NE10_transmat.c:78
ne10_result_t ne10_vdiv_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_vdiv_vec3f using plain C code.
Definition: NE10_div.c:58
ne10_result_t(* ne10_identitymat_3x3f)(ne10_mat3x3f_t *dst, ne10_uint32_t count)
Sets the elements of an array of 3x3 matrices to the identity matrix.
ne10_result_t ne10_invmat_4x4f_c(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count)
Specific implementation of ne10_invmat_4x4f using plain C code.
Definition: NE10_invmat.c:127
ne10_result_t ne10_vmla_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count) asm("ne10_vmla_vec4f_neon")
Specific implementation of ne10_vmla_vec4f using NEON intrinsics.
ne10_result_t ne10_vdiv_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_vdiv_vec4f using plain C code.
Definition: NE10_div.c:70
ne10_result_t ne10_vmul_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count) asm("ne10_vmul_vec2f_neon")
Specific implementation of ne10_vmul_vec2f using NEON intrinsics.
ne10_result_t ne10_divc_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_divc_vec3f using plain C code.
Definition: NE10_divc.c:58
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 all scalar elements of an input array by constant value, adding this product to a value of...
ne10_result_t ne10_detmat_3x3f_neon(ne10_float32_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count) asm("ne10_detmat_3x3f_neon")
Specific implementation of ne10_detmat_3x3f using NEON intrinsics.
ne10_result_t(* ne10_vmul_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Element-wise multiplies the 2D vectors of one input array by those of the same index in another...
ne10_result_t ne10_mulmat_3x3f_c(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_mulmat_3x3f using plain C code.
Definition: NE10_mulmat.c:69
ne10_result_t ne10_transmat_2x2f_neon(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count) asm("ne10_transmat_2x2f_neon")
Specific implementation of ne10_transmat_2x2f using NEON intrinsics.
ne10_result_t ne10_dot_vec2f_neon(ne10_float32_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count) asm("ne10_dot_vec2f_neon")
Specific implementation of ne10_dot_vec2f using NEON intrinsics.
ne10_result_t ne10_vmla_vec3f_neon(ne10_vec3f_t *dst, ne10_vec3f_t *acc, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count) asm("ne10_vmla_vec3f_neon")
Specific implementation of ne10_vmla_vec3f using NEON intrinsics.
ne10_result_t ne10_sub_float_c(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Specific implementation of ne10_sub_float using plain C code.
Definition: NE10_sub.c:37
ne10_result_t ne10_mul_float_c(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Specific implementation of ne10_mul_float using plain C code.
Definition: NE10_mul.c:37
ne10_result_t ne10_addmat_3x3f_c(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_addmat_3x3f using plain C code.
Definition: NE10_addmat.c:51
ne10_result_t(* ne10_vmul_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Element-wise multiplies the 4D vectors of one input array by those of the same index in another...
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)
Element-wise multiplies all the 4D vector elements of an input array by those of the same index in an...
ne10_result_t ne10_len_vec4f_neon(ne10_float32_t *dst, ne10_vec4f_t *src, ne10_uint32_t count) asm("ne10_len_vec4f_neon")
Specific implementation of ne10_len_vec4f using NEON intrinsics.
#define NE10_OK
Definition: NE10_types.h:65
ne10_result_t ne10_sub_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count) asm("ne10_sub_vec4f_neon")
Specific implementation of ne10_sub_vec4f using NEON intrinsics.
ne10_result_t ne10_dot_vec3f_neon(ne10_float32_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count) asm("ne10_dot_vec3f_neon")
Specific implementation of ne10_dot_vec3f using NEON intrinsics.
ne10_result_t ne10_mulmat_4x4f_neon(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count) asm("ne10_mulmat_4x4f_neon")
Specific implementation of ne10_mulmat_4x4f using NEON intrinsics.
ne10_result_t ne10_rsbc_float_c(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_rsbc_float using plain C code.
Definition: NE10_rsbc.c:37
ne10_result_t ne10_setc_vec4f_c(ne10_vec4f_t *dst, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_setc_vec4f using plain C code.
Definition: NE10_setc.c:70
ne10_result_t(* ne10_submat_4x4f)(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Subtracts the 4x4 matrices of one input array from those of the same index in another, storing the results in an output array.
ne10_result_t ne10_add_float_c(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Specific implementation of ne10_add_float using plain C code.
Definition: NE10_add.c:38
ne10_result_t ne10_subc_float_neon(ne10_float32_t *dst, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_subc_float using NEON intrinsics.
ne10_result_t ne10_mlac_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *acc, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mlac_vec4f using NEON intrinsics.
ne10_result_t ne10_transmat_4x4f_neon(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src, ne10_uint32_t count) asm("ne10_transmat_4x4f_neon")
Specific implementation of ne10_transmat_4x4f using NEON intrinsics.
ne10_result_t(* ne10_len_vec4f)(ne10_float32_t *dst, ne10_vec4f_t *src, ne10_uint32_t count)
Calculates the magnitude of 4D vectors within an input array, storing the results in an output array...
ne10_result_t ne10_add_float_neon(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count) asm("ne10_add_float_neon")
Specific implementation of ne10_add_float using NEON intrinsics.
ne10_result_t(* ne10_mulmat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
Multiplies the 3x3 matrices of one input array by those of the same index in another, storing the results in an output array.
ne10_result_t ne10_vmul_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_vmul_vec4f using plain C code.
Definition: NE10_mul.c:70
ne10_result_t ne10_sub_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_sub_vec2f using plain C code.
Definition: NE10_sub.c:47
ne10_result_t ne10_len_vec3f_neon(ne10_float32_t *dst, ne10_vec3f_t *src, ne10_uint32_t count) asm("ne10_len_vec3f_neon")
Specific implementation of ne10_len_vec3f using NEON intrinsics.
ne10_result_t ne10_invmat_3x3f_neon(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count) asm("ne10_invmat_3x3f_neon")
Specific implementation of ne10_invmat_3x3f using NEON intrinsics.
ne10_result_t ne10_submat_2x2f_c(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_submat_2x2f using plain C code.
Definition: NE10_submat.c:37
ne10_result_t ne10_mlac_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *acc, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mlac_vec2f using NEON intrinsics.
ne10_result_t ne10_detmat_2x2f_neon(ne10_float32_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count) asm("ne10_detmat_2x2f_neon")
Specific implementation of ne10_detmat_2x2f using NEON intrinsics.
ne10_result_t ne10_div_float_neon(ne10_float32_t *dst, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count) asm("ne10_div_float_neon")
Specific implementation of ne10_div_float using NEON intrinsics.
ne10_result_t(* ne10_transmat_2x2f)(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count)
Calculates the transpose of 2x2 matrices within an input array, storing the results in an output arra...
ne10_result_t ne10_add_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src1, ne10_vec4f_t *src2, ne10_uint32_t count) asm("ne10_add_vec4f_neon")
Specific implementation of ne10_add_vec4f using NEON intrinsics.
ne10_result_t(* ne10_rsbc_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Subtracts all the 2D vectors in an input array from a constant vector, storing the results in an outp...
ne10_result_t(* ne10_divc_vec4f)(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Element-wise divides all the 4D vectors in an input array by a constant vector, storing the results i...
ne10_result_t ne10_invmat_3x3f_c(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count)
Specific implementation of ne10_invmat_3x3f using plain C code.
Definition: NE10_invmat.c:65
ne10_result_t ne10_setc_float_neon(ne10_float32_t *dst, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_setc_float using NEON intrinsics.
ne10_result_t(* ne10_vdiv_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Element-wise divides the 3D vectors of one input array by those of the same index in another...
ne10_result_t(* ne10_invmat_3x3f)(ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src, ne10_uint32_t count)
Calculates the inverse of 3x3 matrices within an input array, storing the results in an output array...
ne10_result_t(* ne10_rsbc_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Subtracts all the 3D vectors in an input array from a constant vector, storing the results in an outp...
ne10_result_t ne10_addmat_2x2f_neon(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_addmat_2x2f using NEON intrinsics.
ne10_result_t(* ne10_abs_float)(ne10_float32_t *dst, ne10_float32_t *src, ne10_uint32_t count)
Calculates the absolute value of scalars within an input array, storing the results in an output arra...
ne10_result_t ne10_normalize_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src, ne10_uint32_t count)
Specific implementation of ne10_normalize_vec2f using plain C code.
ne10_result_t(* ne10_vdiv_vec2f)(ne10_vec2f_t *dst, ne10_vec2f_t *src1, ne10_vec2f_t *src2, ne10_uint32_t count)
Element-wise divides the 2D vectors of one input array by those of the same index in another...
ne10_result_t ne10_mulc_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mulc_vec2f using NEON intrinsics.
ne10_result_t ne10_divc_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_divc_vec4f using plain C code.
Definition: NE10_divc.c:70
ne10_result_t(* ne10_divc_vec3f)(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Element-wise divides all the 3D vectors in an input array by a constant vector, storing the results i...
ne10_result_t(* ne10_identitymat_4x4f)(ne10_mat4x4f_t *dst, ne10_uint32_t count)
Sets the elements of an array of 4x4 matrices to the identity matrix.
ne10_result_t ne10_subc_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src, const ne10_vec3f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_subc_vec3f using plain C code.
Definition: NE10_subc.c:58
ne10_result_t ne10_rsbc_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_rsbc_vec4f using NEON intrinsics.
ne10_result_t ne10_addmat_4x4f_c(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_addmat_4x4f using plain C code.
Definition: NE10_addmat.c:71
int ne10_result_t
Definition: NE10_types.h:82
ne10_result_t ne10_divc_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_divc_vec2f using NEON intrinsics.
A 4-tuple of ne10_float32_t values.
Definition: NE10_types.h:106
ne10_result_t ne10_subc_vec4f_c(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_subc_vec4f using plain C code.
Definition: NE10_subc.c:70
ne10_result_t ne10_mulc_vec4f_neon(ne10_vec4f_t *dst, ne10_vec4f_t *src, const ne10_vec4f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_mulc_vec4f using NEON intrinsics.
ne10_result_t ne10_mulcmatvec_cm3x3f_v3f_c(ne10_vec3f_t *dst, const ne10_mat3x3f_t *cst, ne10_vec3f_t *src, ne10_uint32_t count)
Specific implementation of ne10_mulcmatvec_cm3x3f_v3f using plain C code.
ne10_result_t ne10_mulmat_4x4f_c(ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_mulmat_4x4f using plain C code.
Definition: NE10_mulmat.c:127
ne10_result_t ne10_subc_vec2f_neon(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_subc_vec2f using NEON intrinsics.
ne10_result_t ne10_mlac_float_c(ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_mlac_float using plain C code.
Definition: NE10_mlac.c:37
ne10_result_t ne10_mla_float_c(ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count)
Specific implementation of ne10_mla_float using plain C code.
Definition: NE10_mla.c:37
ne10_result_t ne10_divc_vec2f_c(ne10_vec2f_t *dst, ne10_vec2f_t *src, const ne10_vec2f_t *cst, ne10_uint32_t count)
Specific implementation of ne10_divc_vec2f using plain C code.
Definition: NE10_divc.c:47
ne10_result_t ne10_invmat_2x2f_c(ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src, ne10_uint32_t count)
Specific implementation of ne10_invmat_2x2f using plain C code.
Definition: NE10_invmat.c:42
ne10_result_t ne10_mla_float_neon(ne10_float32_t *dst, ne10_float32_t *acc, ne10_float32_t *src1, ne10_float32_t *src2, ne10_uint32_t count) asm("ne10_mla_float_neon")
Specific implementation of ne10_mla_float using NEON intrinsics.
ne10_result_t ne10_sub_vec3f_c(ne10_vec3f_t *dst, ne10_vec3f_t *src1, ne10_vec3f_t *src2, ne10_uint32_t count)
Specific implementation of ne10_sub_vec3f using plain C code.
Definition: NE10_sub.c:58
ne10_result_t ne10_setc_float_c(ne10_float32_t *dst, const ne10_float32_t cst, ne10_uint32_t count)
Specific implementation of ne10_setc_float using plain C code.
Definition: NE10_setc.c:37