Project Ne10
An open, optimized software library for the ARM architecture.
Functions | Variables
NE10_init_math.c File Reference
#include <stdio.h>
#include "NE10_math.h"

Go to the source code of this file.

Functions

ne10_result_t ne10_init_math (int is_NEON_available)
 

Variables

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 array. More...
 
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 array. More...
 
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 array. More...
 
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 array. More...
 
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 output array. More...
 
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 output array. More...
 
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 output array. More...
 
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 output array. More...
 
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 output array. More...
 
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 output array. More...
 
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 output array. More...
 
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 output array. More...
 
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 output array. More...
 
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. More...
 
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. More...
 
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. More...
 
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 array. More...
 
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 in an output array. More...
 
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 in an output array. More...
 
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 in an output array. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 the same index in another input array, and storing the results in an output array. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 array. More...
 
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. More...
 
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. More...
 
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. More...
 
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 array. More...
 
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 array. More...
 
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 array. More...
 
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 in an output array. More...
 
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 in an output array. More...
 
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 in an output array. More...
 
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, storing the results in an output array. More...
 
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, storing the results in an output array. More...
 
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, storing the results in an output array. More...
 
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, storing the results in an output array. More...
 
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, storing the results in an output array. More...
 
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, storing the results in an output array. More...
 
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 another, adding this vector to another of the same index in yet another input array, and storing the results in an output array. More...
 
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 another, adding this vector to another of the same index in yet another input array, and storing the results in an output array. More...
 
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 another, adding this vector to another of the same index in yet another input array, and storing the results in an output array. More...
 
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 in an output array. More...
 
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 in an output array. More...
 
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 in an output array. More...
 
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. More...
 
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. More...
 
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. More...
 
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, storing the results in an output array. More...
 
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, storing the results in an output array. More...
 
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, storing the results in an output array. More...
 
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 another, storing the results in an output array. More...
 
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 in an output array. More...
 
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 in an output array. More...
 
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 in an output array. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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, storing the results in an output array. More...
 
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, storing the results in an output array. More...
 
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, storing the results in an output array. More...
 
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 array. More...
 
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 array. More...
 
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 array. More...
 
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. More...
 
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. More...
 
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. More...
 
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 array. More...
 
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. More...
 
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 array. More...
 
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. More...
 
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 array. More...
 
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. More...
 

Function Documentation

ne10_result_t ne10_init_math ( int  is_NEON_available)

Definition at line 32 of file NE10_init_math.c.