SASification of sci_lu
[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 - 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 LU_H
13 #define LU_H
14
15 /**
16  * iLuM performs memory allocations and computes (calling iLu) LU decomposition 
17  * in :
18  * @param pData double* pointer to memory (either in 'd' or 'z' format) of argument matrix
19  * @param iRows int number of rows 
20  * @param iCols int number of columns 
21  * @param complexArg int (really bool) tells if data is in real (in 'd' format) or complex (in 'z' format)
22  * out :
23  * @param pdblLData double* pointer to memory (either in 'd' or 'z' format) where L result will be stored
24  * @param pdblUData double* pointer to memory (either in 'd' or 'z' format) where U result will be stored
25  * @param pdblEData double* NULL if E does not need to be computed, otherwise pointer to memory
26  * (either in 'd' or 'z' format) where E result will be stored
27  * @return if the operation successed (true) or not (false)
28  */
29 extern int iLuM(double* pData, int iRows, int iCols, int complexArg, double* pdblLData, double* pdblUData, double* pbdlEData );
30 extern int iLu(double* pData, int iRows, int iCols, int complexArg, double* pdblLData, double* pdblUData, double* pbdlEData
31                , int* piPivot, int* piWork, double* pdblWork);
32
33 #endif