CMSIS-DSP: Matrix Addition

| CMSIS-DSP Version 1.10.0 CMSIS DSP Software Library

- Main Page
- Usage and Description
- Reference

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
Matrix Addition
Matrix Functions

## Functions

arm_status | arm_mat_add_f16 (const arm_matrix_instance_f16 *pSrcA, const arm_matrix_instance_f16 *pSrcB, arm_matrix_instance_f16 *pDst)
| Floating-point matrix addition. More...
arm_status | arm_mat_add_f32 (const arm_matrix_instance_f32 *pSrcA, const arm_matrix_instance_f32 *pSrcB, arm_matrix_instance_f32 *pDst)
| Floating-point matrix addition. More...
arm_status | arm_mat_add_q15 (const arm_matrix_instance_q15 *pSrcA, const arm_matrix_instance_q15 *pSrcB, arm_matrix_instance_q15 *pDst)
| Q15 matrix addition. More...
arm_status | arm_mat_add_q31 (const arm_matrix_instance_q31 *pSrcA, const arm_matrix_instance_q31 *pSrcB, arm_matrix_instance_q31 *pDst)
| Q31 matrix addition. More...

## Description

Adds two matrices.

Addition of two 3 x 3 matrices

The functions check to make sure that `pSrcA`, `pSrcB`, and `pDst` have the same number of rows and columns.

## Function Documentation

arm_status arm_mat_add_f16 | ( | const arm_matrix_instance_f16 * | pSrcA,
|  | const arm_matrix_instance_f16 * | pSrcB,
|  | arm_matrix_instance_f16 * | pDst
| ) |  |

Parameters

  [in] | pSrcA | points to first input matrix structure
  [in] | pSrcB | points to second input matrix structure
  [out] | pDst | points to output matrix structure

Returns
  execution status
  - ARM_MATH_SUCCESS : Operation successful
  - ARM_MATH_SIZE_MISMATCH : Matrix size check failed

arm_status arm_mat_add_f32 | ( | const arm_matrix_instance_f32 * | pSrcA,
|  | const arm_matrix_instance_f32 * | pSrcB,
|  | arm_matrix_instance_f32 * | pDst
| ) |  |

Parameters

  [in] | pSrcA | points to first input matrix structure
  [in] | pSrcB | points to second input matrix structure
  [out] | pDst | points to output matrix structure

Returns
  execution status
  - ARM_MATH_SUCCESS : Operation successful
  - ARM_MATH_SIZE_MISMATCH : Matrix size check failed

arm_status arm_mat_add_q15 | ( | const arm_matrix_instance_q15 * | pSrcA,
|  | const arm_matrix_instance_q15 * | pSrcB,
|  | arm_matrix_instance_q15 * | pDst
| ) |  |

Parameters

  [in] | pSrcA | points to first input matrix structure
  [in] | pSrcB | points to second input matrix structure
  [out] | pDst | points to output matrix structure

Returns
  execution status
  - ARM_MATH_SUCCESS : Operation successful
  - ARM_MATH_SIZE_MISMATCH : Matrix size check failed

Scaling and Overflow Behavior
  The function uses saturating arithmetic. Results outside of the allowable Q15 range [0x8000 0x7FFF] are saturated.

arm_status arm_mat_add_q31 | ( | const arm_matrix_instance_q31 * | pSrcA,
|  | const arm_matrix_instance_q31 * | pSrcB,
|  | arm_matrix_instance_q31 * | pDst
| ) |  |

Parameters

  [in] | pSrcA | points to first input matrix structure
  [in] | pSrcB | points to second input matrix structure
  [out] | pDst | points to output matrix structure

Returns
  execution status
  - ARM_MATH_SUCCESS : Operation successful
  - ARM_MATH_SIZE_MISMATCH : Matrix size check failed

Scaling and Overflow Behavior
  The function uses saturating arithmetic. Results outside of the allowable Q31 range [0x80000000 0x7FFFFFFF] are saturated.