From 76177aa280494bb36d7a0bcbda1078d4db717020 Mon Sep 17 00:00:00 2001 From: Ali Labbene Date: Mon, 9 Dec 2019 11:25:19 +0100 Subject: Official ARM version: v4.5 --- Documentation/DSP/html/group___matrix_scale.html | 301 +++++++++++++++++++++++ 1 file changed, 301 insertions(+) create mode 100644 Documentation/DSP/html/group___matrix_scale.html (limited to 'Documentation/DSP/html/group___matrix_scale.html') diff --git a/Documentation/DSP/html/group___matrix_scale.html b/Documentation/DSP/html/group___matrix_scale.html new file mode 100644 index 0000000..62ba64c --- /dev/null +++ b/Documentation/DSP/html/group___matrix_scale.html @@ -0,0 +1,301 @@ + + + + + +Matrix Scale +CMSIS-DSP: Matrix Scale + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
CMSIS-DSP +  Version 1.4.7 +
+
CMSIS DSP Software Library
+
+
+ +
+
    + +
+
+ + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
Matrix Scale
+
+
+ + + + + + + + + + + +

+Functions

arm_status arm_mat_scale_f32 (const arm_matrix_instance_f32 *pSrc, float32_t scale, arm_matrix_instance_f32 *pDst)
 Floating-point matrix scaling.
 
arm_status arm_mat_scale_q15 (const arm_matrix_instance_q15 *pSrc, q15_t scaleFract, int32_t shift, arm_matrix_instance_q15 *pDst)
 Q15 matrix scaling.
 
arm_status arm_mat_scale_q31 (const arm_matrix_instance_q31 *pSrc, q31_t scaleFract, int32_t shift, arm_matrix_instance_q31 *pDst)
 Q31 matrix scaling.
 
+

Description

+

Multiplies a matrix by a scalar. This is accomplished by multiplying each element in the matrix by the scalar. For example:

+
+MatrixScale.gif +
+Matrix Scaling of a 3 x 3 matrix
+

The function checks to make sure that the input and output matrices are of the same size.

+

In the fixed-point Q15 and Q31 functions, scale is represented by a fractional multiplication scaleFract and an arithmetic shift shift. The shift allows the gain of the scaling operation to exceed 1.0. The overall scale factor applied to the fixed-point data is

+
        
+    scale = scaleFract * 2^shift.        
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
arm_status arm_mat_scale_f32 (const arm_matrix_instance_f32pSrc,
float32_t scale,
arm_matrix_instance_f32pDst 
)
+
+
Parameters
+ + + + +
[in]*pSrcpoints to input matrix structure
[in]scalescale factor to be applied
[out]*pDstpoints to output matrix structure
+
+
+
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
+ +

References ARM_MATH_SIZE_MISMATCH, ARM_MATH_SUCCESS, arm_matrix_instance_f32::numCols, arm_matrix_instance_f32::numRows, arm_matrix_instance_f32::pData, and status.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
arm_status arm_mat_scale_q15 (const arm_matrix_instance_q15pSrc,
q15_t scaleFract,
int32_t shift,
arm_matrix_instance_q15pDst 
)
+
+
Parameters
+ + + + + +
[in]*pSrcpoints to input matrix
[in]scaleFractfractional portion of the scale factor
[in]shiftnumber of bits to shift the result by
[out]*pDstpoints to output matrix structure
+
+
+
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
+

Scaling and Overflow Behavior:

+
The input data *pSrc and scaleFract are in 1.15 format. These are multiplied to yield a 2.30 intermediate result and this is shifted with saturation to 1.15 format.
+ +

References _SIMD32_OFFSET, ARM_MATH_SIZE_MISMATCH, ARM_MATH_SUCCESS, arm_matrix_instance_q15::numCols, arm_matrix_instance_q15::numRows, arm_matrix_instance_q15::pData, and status.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
arm_status arm_mat_scale_q31 (const arm_matrix_instance_q31pSrc,
q31_t scaleFract,
int32_t shift,
arm_matrix_instance_q31pDst 
)
+
+
Parameters
+ + + + + +
[in]*pSrcpoints to input matrix
[in]scaleFractfractional portion of the scale factor
[in]shiftnumber of bits to shift the result by
[out]*pDstpoints to output matrix structure
+
+
+
Returns
The function returns either ARM_MATH_SIZE_MISMATCH or ARM_MATH_SUCCESS based on the outcome of size checking.
+

Scaling and Overflow Behavior:

+
The input data *pSrc and scaleFract are in 1.31 format. These are multiplied to yield a 2.62 intermediate result and this is shifted with saturation to 1.31 format.
+ +

References ARM_MATH_SIZE_MISMATCH, ARM_MATH_SUCCESS, arm_matrix_instance_q31::numCols, arm_matrix_instance_q31::numRows, arm_matrix_instance_q31::pData, and status.

+ +
+
+
+
+ + + + -- cgit