GPL + CeCILL Header change
[scilab.git] / scilab / modules / linear_algebra / includes / lu.h
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2009 - DIGITEO - Bernard HUGUENEY
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  * === LICENSE_END ===
14  *
15  */
16 #ifndef LU_H
17 #define LU_H
18 #include "dynlib_linear_algebra.h"
19 /**
20  * iLuM performs memory allocations and computes (calling iLu) LU decomposition
21  * in :
22  * @param pData double* pointer to memory (either in 'd' or 'z' format) of argument matrix
23  * @param iRows int number of rows
24  * @param iCols int number of columns
25  * @param complexArg int (really bool) tells if data is in real (in 'd' format) or complex (in 'z' format)
26  * out :
27  * @param pdblLData double* pointer to memory (either in 'd' or 'z' format) where L result will be stored
28  * @param pdblUData double* pointer to memory (either in 'd' or 'z' format) where U result will be stored
29  * @param pdblEData double* NULL if E does not need to be computed, otherwise pointer to memory
30  * (either in 'd' or 'z' format) where E result will be stored
31  * @return if the operation successed (true) or not (false)
32  */
33 LINEAR_ALGEBRA_IMPEXP int iLuM(double* pData, int iRows, int iCols, int complexArg, double* pdblLData, double* pdblUData, double* pbdlEData );
34 LINEAR_ALGEBRA_IMPEXP int iLu(double* pData, int iRows, int iCols, int complexArg, double* pdblLData, double* pdblUData, double* pbdlEData
35                               , int* piPivot, int* piWork, double* pdblWork);
36
37 #endif