#ifndef EIGEN_QR_MODULE_H
#define EIGEN_QR_MODULE_H

#include "Core"

#include "src/Core/util/DisableMSVCWarnings.h"

#include "Cholesky"

// Note that EIGEN_HIDE_HEAVY_CODE has to be defined per module
#if (defined EIGEN_EXTERN_INSTANTIATIONS) && (EIGEN_EXTERN_INSTANTIATIONS>=2)
  #ifndef EIGEN_HIDE_HEAVY_CODE
  #define EIGEN_HIDE_HEAVY_CODE
  #endif
#elif defined EIGEN_HIDE_HEAVY_CODE
  #undef EIGEN_HIDE_HEAVY_CODE
#endif

namespace Eigen {

/** \defgroup QR_Module QR module
  * This module mainly provides QR decomposition and an eigen value solver.
  * This module also provides some MatrixBase methods, including:
  *  - MatrixBase::qr(),
  *  - MatrixBase::eigenvalues(),
  *  - MatrixBase::operatorNorm()
  *
  * \code
  * #include <Eigen/QR>
  * \endcode
  */

#include "src/QR/QR.h"
#include "src/QR/Tridiagonalization.h"
#include "src/QR/EigenSolver.h"
#include "src/QR/SelfAdjointEigenSolver.h"
#include "src/QR/HessenbergDecomposition.h"

// declare all classes for a given matrix type
#define EIGEN_QR_MODULE_INSTANTIATE_TYPE(MATRIXTYPE,PREFIX) \
  PREFIX template class QR<MATRIXTYPE>; \
  PREFIX template class Tridiagonalization<MATRIXTYPE>; \
  PREFIX template class HessenbergDecomposition<MATRIXTYPE>; \
  PREFIX template class SelfAdjointEigenSolver<MATRIXTYPE>

// removed because it does not support complex yet
//  PREFIX template class EigenSolver<MATRIXTYPE>

// declare all class for all types
#define EIGEN_QR_MODULE_INSTANTIATE(PREFIX) \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(Matrix2f,PREFIX); \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(Matrix2d,PREFIX); \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(Matrix3f,PREFIX); \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(Matrix3d,PREFIX); \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(Matrix4f,PREFIX); \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(Matrix4d,PREFIX); \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(MatrixXf,PREFIX); \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(MatrixXd,PREFIX); \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(MatrixXcf,PREFIX); \
  EIGEN_QR_MODULE_INSTANTIATE_TYPE(MatrixXcd,PREFIX)

#ifdef EIGEN_EXTERN_INSTANTIATIONS
  EIGEN_QR_MODULE_INSTANTIATE(extern);
#endif // EIGEN_EXTERN_INSTANTIATIONS

} // namespace Eigen

#include "src/Core/util/EnableMSVCWarnings.h"

#endif // EIGEN_QR_MODULE_H
