xref: /aosp_15_r20/external/eigen/lapack/lapack_common.h (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
1*bf2c3715SXin Li // This file is part of Eigen, a lightweight C++ template library
2*bf2c3715SXin Li // for linear algebra.
3*bf2c3715SXin Li //
4*bf2c3715SXin Li // Copyright (C) 2010-2014 Gael Guennebaud <[email protected]>
5*bf2c3715SXin Li //
6*bf2c3715SXin Li // This Source Code Form is subject to the terms of the Mozilla
7*bf2c3715SXin Li // Public License v. 2.0. If a copy of the MPL was not distributed
8*bf2c3715SXin Li // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9*bf2c3715SXin Li 
10*bf2c3715SXin Li #ifndef EIGEN_LAPACK_COMMON_H
11*bf2c3715SXin Li #define EIGEN_LAPACK_COMMON_H
12*bf2c3715SXin Li 
13*bf2c3715SXin Li #include "../blas/common.h"
14*bf2c3715SXin Li #include "../Eigen/src/misc/lapack.h"
15*bf2c3715SXin Li 
16*bf2c3715SXin Li #define EIGEN_LAPACK_FUNC(FUNC,ARGLIST)               \
17*bf2c3715SXin Li   extern "C" { int EIGEN_BLAS_FUNC(FUNC) ARGLIST; }   \
18*bf2c3715SXin Li   int EIGEN_BLAS_FUNC(FUNC) ARGLIST
19*bf2c3715SXin Li 
20*bf2c3715SXin Li typedef Eigen::Map<Eigen::Transpositions<Eigen::Dynamic,Eigen::Dynamic,int> > PivotsType;
21*bf2c3715SXin Li 
22*bf2c3715SXin Li #if ISCOMPLEX
23*bf2c3715SXin Li #define EIGEN_LAPACK_ARG_IF_COMPLEX(X) X,
24*bf2c3715SXin Li #else
25*bf2c3715SXin Li #define EIGEN_LAPACK_ARG_IF_COMPLEX(X)
26*bf2c3715SXin Li #endif
27*bf2c3715SXin Li 
28*bf2c3715SXin Li 
29*bf2c3715SXin Li #endif // EIGEN_LAPACK_COMMON_H
30