Project Ne10
An open, optimized software library for the ARM architecture.
Functions | Variables
Matrix Multiplication

Functions

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. More...
 
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. More...
 
ne10_result_t ne10_mulmat_4x4f_asm (ne10_mat4x4f_t *dst, ne10_mat4x4f_t *src1, ne10_mat4x4f_t *src2, ne10_uint32_t count)
 Specific implementation of ne10_mulmat_4x4f using NEON assembly. More...
 
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. More...
 
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. More...
 
ne10_result_t ne10_mulmat_3x3f_asm (ne10_mat3x3f_t *dst, ne10_mat3x3f_t *src1, ne10_mat3x3f_t *src2, ne10_uint32_t count)
 Specific implementation of ne10_mulmat_3x3f using NEON assembly. More...
 
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. More...
 
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. More...
 
ne10_result_t ne10_mulmat_2x2f_asm (ne10_mat2x2f_t *dst, ne10_mat2x2f_t *src1, ne10_mat2x2f_t *src2, ne10_uint32_t count)
 Specific implementation of ne10_mulmat_2x2f using NEON assembly. More...
 

Variables

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_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_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...
 

Detailed Description

These functions implement matrix multiplication operations for single precision floating point values.

Function Documentation

ne10_result_t ne10_mulmat_2x2f_asm ( ne10_mat2x2f_t dst,
ne10_mat2x2f_t src1,
ne10_mat2x2f_t src2,
ne10_uint32_t  count 
)

Specific implementation of ne10_mulmat_2x2f using NEON assembly.

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 at line 37 of file NE10_mulmat.c.

ne10_result_t ne10_mulmat_2x2f_neon ( ne10_mat2x2f_t dst,
ne10_mat2x2f_t src1,
ne10_mat2x2f_t src2,
ne10_uint32_t  count 
)

Specific implementation of ne10_mulmat_2x2f using NEON intrinsics.

ne10_result_t ne10_mulmat_3x3f_asm ( ne10_mat3x3f_t dst,
ne10_mat3x3f_t src1,
ne10_mat3x3f_t src2,
ne10_uint32_t  count 
)

Specific implementation of ne10_mulmat_3x3f using NEON assembly.

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 at line 69 of file NE10_mulmat.c.

ne10_result_t ne10_mulmat_3x3f_neon ( ne10_mat3x3f_t dst,
ne10_mat3x3f_t src1,
ne10_mat3x3f_t src2,
ne10_uint32_t  count 
)

Specific implementation of ne10_mulmat_3x3f using NEON intrinsics.

ne10_result_t ne10_mulmat_4x4f_asm ( ne10_mat4x4f_t dst,
ne10_mat4x4f_t src1,
ne10_mat4x4f_t src2,
ne10_uint32_t  count 
)

Specific implementation of ne10_mulmat_4x4f using NEON assembly.

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 at line 127 of file NE10_mulmat.c.

ne10_result_t ne10_mulmat_4x4f_neon ( ne10_mat4x4f_t dst,
ne10_mat4x4f_t src1,
ne10_mat4x4f_t src2,
ne10_uint32_t  count 
)

Specific implementation of ne10_mulmat_4x4f using NEON intrinsics.

Variable Documentation

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.

Points to ne10_mulmat_2x2f_c, ne10_mulmat_2x2f_neon, or ne10_mulmat_2x2f_asm. This operation cannot be performed in-place.

Parameters
[out]dstPointer to the destination array
[in]src1Pointer to the first source array
[in]src2Pointer to the second source array
[in]countThe number of multiplications to be performed (i.e. the length of the source arrays)

Definition at line 290 of file NE10_init_math.c.

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.

Points to ne10_mulmat_3x3f_c, ne10_mulmat_3x3f_neon, or ne10_mulmat_3x3f_asm. This operation cannot be performed in-place.

Parameters
[out]dstPointer to the destination array
[in]src1Pointer to the first source array
[in]src2Pointer to the second source array
[in]countThe number of multiplications to be performed (i.e. the length of the source arrays)
Examples:
NE10_sample_matrix_multiply.c.

Definition at line 291 of file NE10_init_math.c.

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.

Points to ne10_mulmat_4x4f_c, ne10_mulmat_4x4f_neon, or ne10_mulmat_4x4f_asm. This operation cannot be performed in-place.

Parameters
[out]dstPointer to the destination array
[in]src1Pointer to the first source array
[in]src2Pointer to the second source array
[in]countThe number of multiplications to be performed (i.e. the length of the source arrays)

Definition at line 292 of file NE10_init_math.c.