linear_algebra plugged.
[scilab.git] / scilab / modules / linear_algebra / includes / det.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) ????-2008 - INRIA
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12 #ifndef DET_H
13 #define DET_H
14 #include "dynlib_linear_algebra.h"
15 /*
16  * computes the determinant of a real or complex square matrix, performing MALLOCation of temp variables as needed.
17  * Cf. http://www.scilab.org/product/man/det.html
18  *
19  * in :
20  *
21  * @param pData double[complex]* in/scratch data of the real or complex (in 'z' format, see below pMantissaImg) argument matrix
22  * @param iCols int in nb of rows / cols of the argument matrix
23  *
24  * out:
25  *
26  * @param pMantissaReal double* ptr where the real part of the determinant [mantissa] will be stored
27  * @param pMantissaImg double* ptr where the imaginary part of the determinant [mantissa] will be stored, NULL indicates that matrix is real.
28  * @param piExponent int* ptr where the exponent will be stored, NULL if the determinant is not to be computed in mantissa, exponent form.
29  *
30  * @return error code : 0 for success, -1 for MALLOC failure, other values from LAPACK [z|g]etrf.
31  *
32  */
33
34 LINEAR_ALGEBRA_IMPEXP int iDetM(double* pData, int iCols, double* pMantissaReal, double* pMantissaImg, int* piExponent);
35
36 #endif