76 int32_t totShift = shift + 1;
81 #ifndef ARM_MATH_CM0_FAMILY 83 q31_t in3, in4, out2, out3, out4;
85 #endif // #ifndef ARM_MAT_CM0 87 #ifdef ARM_MATH_MATRIX_CHECK 95 #endif // #ifdef ARM_MATH_MATRIX_CHECK 100 #ifndef ARM_MATH_CM0_FAMILY
105 blkCnt = numSamples >> 2u;
119 in1 = ((
q63_t) in1 * scaleFract) >> 32;
120 in2 = ((
q63_t) in2 * scaleFract) >> 32;
121 in3 = ((
q63_t) in3 * scaleFract) >> 32;
122 in4 = ((
q63_t) in4 * scaleFract) >> 32;
125 out1 = in1 << totShift;
126 out2 = in2 << totShift;
129 if(in1 != (out1 >> totShift))
130 out1 = 0x7FFFFFFF ^ (in1 >> 31);
132 if(in2 != (out2 >> totShift))
133 out2 = 0x7FFFFFFF ^ (in2 >> 31);
135 out3 = in3 << totShift;
136 out4 = in4 << totShift;
141 if(in3 != (out3 >> totShift))
142 out3 = 0x7FFFFFFF ^ (in3 >> 31);
144 if(in4 != (out4 >> totShift))
145 out4 = 0x7FFFFFFF ^ (in4 >> 31);
162 blkCnt = numSamples % 0x4u;
179 in2 = ((
q63_t) in1 * scaleFract) >> 32;
181 out1 = in2 << totShift;
183 if(in2 != (out1 >> totShift))
184 out1 = 0x7FFFFFFF ^ (in2 >> 31);
int64_t q63_t
64-bit fractional data type in 1.63 format.
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.
int32_t q31_t
32-bit fractional data type in 1.31 format.
arm_status
Error status returned by some functions in the library.
Instance structure for the Q31 matrix structure.