93 float64_t *pPivotRowIn, *pPRT_in, *pPivotRowDst, *pPRT_pDst;
94 uint32_t numRows = pSrc->
numRows;
95 uint32_t numCols = pSrc->
numCols;
97 #ifndef ARM_MATH_CM0_FAMILY 103 uint32_t i, rowCnt, flag = 0u, j, loopCnt, k, l;
106 #ifdef ARM_MATH_MATRIX_CHECK 167 j = numRows - rowCnt;
205 pInT1 = pIn + (l * numCols);
209 pOutT1 = pOut + (l * numCols);
216 for (i = l; i < numRows; i++)
218 maxC = *pInT1 > 0 ? (*pInT1 > maxC ? *pInT1 : maxC) : (-*pInT1 > maxC ? -*pInT1 : maxC);
235 if( (in > 0.0f ? in : -in) != maxC)
238 i = numRows - (l + 1u);
243 pInT2 = pInT1 + (numCols * l);
244 pOutT2 = pOutT1 + (numCols * k);
248 if((*pInT2 > 0.0f ? *pInT2: -*pInT2) == maxC)
295 if((flag != 1u) && (in == 0.0f))
301 pPivotRowIn = pIn + (l * numCols);
302 pPivotRowDst = pOut + (l * numCols);
306 pInT2 = pPivotRowDst;
361 pInT1 += numCols - l;
371 pPRT_in = pPivotRowIn;
372 pPRT_pDst = pPivotRowDst;
383 *pInT1++ = in1 - (in * *pPRT_in++);
398 *pInT2++ = in1 - (in * *pPRT_pDst++);
432 uint32_t i, rowCnt, flag = 0u, j, loopCnt, k, l;
435 #ifdef ARM_MATH_MATRIX_CHECK 493 j = numRows - rowCnt;
531 pInT1 = pIn + (l * numCols);
535 pOutT1 = pOut + (l * numCols);
547 for (i = (l + 1u); i < numRows; i++)
550 pInT2 = pInT1 + (numCols * l);
551 pOutT2 = pOutT1 + (numCols * k);
559 for (j = 0u; j < (numCols - l); j++)
567 for (j = 0u; j < numCols; j++)
587 if((flag != 1u) && (in == 0.0f))
593 pPivotRowIn = pIn + (l * numCols);
594 pPivotRowDst = pOut + (l * numCols);
598 pOutT1 = pPivotRowDst;
601 in = *(pIn + (l * numCols));
605 for (j = 0u; j < (numCols - l); j++)
609 *pInT1 = *pInT1 / in;
612 for (j = 0u; j < numCols; j++)
616 *pOutT1 = *pOutT1 / in;
627 for (i = 0u; i < numRows; i++)
634 pInT1 += numCols - l;
643 pPRT_in = pPivotRowIn;
644 pPRT_pDst = pPivotRowDst;
648 for (j = 0u; j < (numCols - l); j++)
652 *pInT1 = *pInT1 - (in * *pPRT_in++);
657 for (j = 0u; j < numCols; j++)
661 *pOutT1 = *pOutT1 - (in * *pPRT_pDst++);
684 if((flag != 1u) && (in == 0.0f))
687 for (i = 0; i < numRows * numCols; i++)
693 if (i == numRows * numCols)
double float64_t
64-bit floating-point type definition.
Instance structure for the floating-point matrix structure.
arm_status arm_mat_inverse_f64(const arm_matrix_instance_f64 *pSrc, arm_matrix_instance_f64 *pDst)
Floating-point matrix inverse.
arm_status
Error status returned by some functions in the library.