Cholesky matrix decomposition

Performs Cholesky decomposition of matrix \(A = L*L^T\) and solves matrix equation \(A*X=B\).

Parameters:

src1 pointer to input matrix \(A\) stored in row major order. After finish of work src1 contains lower triangular matrix \(L\).
src1_step number of bytes between two consequent rows of matrix \(A\).
m size of square matrix \(A\).
src2 pointer to \(M\times N\) matrix \(B\) which is the right-hand side of system \(A*X=B\). B stored in row major order. If src2 is null pointer only Cholesky decomposition will be performed. After finish of work src2 contains solution \(X\) of system \(A*X=B\).
src2_step number of bytes between two consequent rows of matrix \(B\).
n number of right-hand vectors in \(M\times N\) matrix \(B\).
info indicates success of decomposition. If *info is false decomposition failed.
// global functions

int
hal_ni_Cholesky32f(
    float* src1,
    size_t src1_step,
    int m,
    float* src2,
    size_t src2_step,
    int n,
    bool* info
    );

int
hal_ni_Cholesky64f(
    double* src1,
    size_t src1_step,
    int m,
    double* src2,
    size_t src2_step,
    int n,
    bool* info
    );