|
|
|
|
@ -1,13 +1,13 @@
|
|
|
|
|
/* ----------------------------------------------------------------------
|
|
|
|
|
* Copyright (C) 2010-2014 ARM Limited. All rights reserved.
|
|
|
|
|
* Copyright (C) 2010-2016 ARM Limited. All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* $Date: 19. March 2015
|
|
|
|
|
* $Revision: V.1.4.5
|
|
|
|
|
* $Date: 26. October 2016
|
|
|
|
|
* $Revision: V.1.4.5 a
|
|
|
|
|
*
|
|
|
|
|
* Project: CMSIS DSP Library
|
|
|
|
|
* Title: arm_mat_mult_fast_q15.c
|
|
|
|
|
* Project: CMSIS DSP Library
|
|
|
|
|
* Title: arm_mat_mult_fast_q15.c
|
|
|
|
|
*
|
|
|
|
|
* Description: Q15 matrix multiplication (fast variant)
|
|
|
|
|
* Description: Q15 matrix multiplication (fast variant)
|
|
|
|
|
*
|
|
|
|
|
* Target Processor: Cortex-M4/Cortex-M3
|
|
|
|
|
*
|
|
|
|
|
@ -55,8 +55,8 @@
|
|
|
|
|
* @param[in] *pSrcA points to the first input matrix structure
|
|
|
|
|
* @param[in] *pSrcB points to the second input matrix structure
|
|
|
|
|
* @param[out] *pDst points to output matrix structure
|
|
|
|
|
* @param[in] *pState points to the array for storing intermediate results
|
|
|
|
|
* @return The function returns either
|
|
|
|
|
* @param[in] *pState points to the array for storing intermediate results
|
|
|
|
|
* @return The function returns either
|
|
|
|
|
* <code>ARM_MATH_SIZE_MISMATCH</code> or <code>ARM_MATH_SUCCESS</code> based on the outcome of size checking.
|
|
|
|
|
*
|
|
|
|
|
* @details
|
|
|
|
|
@ -113,7 +113,7 @@ arm_status arm_mat_mult_fast_q15(
|
|
|
|
|
q15_t in; /* Temporary variable to hold the input value */
|
|
|
|
|
q15_t inA1, inA2, inB1, inB2;
|
|
|
|
|
|
|
|
|
|
#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */
|
|
|
|
|
#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */
|
|
|
|
|
|
|
|
|
|
#ifdef ARM_MATH_MATRIX_CHECK
|
|
|
|
|
/* Check for matrix mismatch condition */
|
|
|
|
|
@ -235,9 +235,9 @@ arm_status arm_mat_mult_fast_q15(
|
|
|
|
|
/* Store one element in the destination */
|
|
|
|
|
*px = in;
|
|
|
|
|
|
|
|
|
|
#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */
|
|
|
|
|
#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */
|
|
|
|
|
|
|
|
|
|
/* Update the pointer px to point to the next row of the transposed matrix */
|
|
|
|
|
/* Update the pointer px to point to the next row of the transposed matrix */
|
|
|
|
|
px += numRowsB;
|
|
|
|
|
|
|
|
|
|
/* Decrement the column loop counter */
|
|
|
|
|
@ -355,7 +355,7 @@ arm_status arm_mat_mult_fast_q15(
|
|
|
|
|
pInA += 4;
|
|
|
|
|
pInB += 4;
|
|
|
|
|
|
|
|
|
|
#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */
|
|
|
|
|
#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */
|
|
|
|
|
|
|
|
|
|
/* Decrement the loop counter */
|
|
|
|
|
colCnt--;
|
|
|
|
|
@ -522,7 +522,7 @@ arm_status arm_mat_mult_fast_q15(
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */
|
|
|
|
|
#endif /* #ifndef UNALIGNED_SUPPORT_DISABLE */
|
|
|
|
|
|
|
|
|
|
/* set status as ARM_MATH_SUCCESS */
|
|
|
|
|
status = ARM_MATH_SUCCESS;
|
|
|
|
|
|