#ifndef EIGEN_SPARSE_MODULE_H
#define EIGEN_SPARSE_MODULE_H

#include "Core"

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

#include <vector>
#include <map>
#include <cstdlib>
#include <cstring>
#include <algorithm>

#ifdef EIGEN_GOOGLEHASH_SUPPORT
  #include <google/dense_hash_map>
#endif

#ifdef EIGEN_CHOLMOD_SUPPORT
  extern "C" {
    #include "cholmod.h"
  }
#endif

#ifdef EIGEN_TAUCS_SUPPORT
  // taucs.h declares a lot of mess
  #define isnan
  #define finite
  #define isinf
  extern "C" {
    #include "taucs.h"
  }
  #undef isnan
  #undef finite
  #undef isinf

  #ifdef min
    #undef min
  #endif
  #ifdef max
    #undef max
  #endif
  #ifdef complex
    #undef complex
  #endif
#endif

#ifdef EIGEN_SUPERLU_SUPPORT
  typedef int int_t;
  #include "superlu/slu_Cnames.h"
  #include "superlu/supermatrix.h"
  #include "superlu/slu_util.h"

  namespace SuperLU_S {
  #include "superlu/slu_sdefs.h"
  }
  namespace SuperLU_D {
  #include "superlu/slu_ddefs.h"
  }
  namespace SuperLU_C {
  #include "superlu/slu_cdefs.h"
  }
  namespace SuperLU_Z {
  #include "superlu/slu_zdefs.h"
  }
  namespace Eigen { struct SluMatrix; }
#endif

#ifdef EIGEN_UMFPACK_SUPPORT
  #include "umfpack.h"
#endif

namespace Eigen {

/** \defgroup Sparse_Module Sparse module
  *
  * \nonstableyet
  *
  * See the \ref TutorialSparse "Sparse tutorial"
  *
  * \code
  * #include <Eigen/QR>
  * \endcode
  */

#include "src/Sparse/SparseUtil.h"
#include "src/Sparse/SparseMatrixBase.h"
#include "src/Sparse/CompressedStorage.h"
#include "src/Sparse/AmbiVector.h"
#include "src/Sparse/RandomSetter.h"
#include "src/Sparse/SparseBlock.h"
#include "src/Sparse/SparseMatrix.h"
#include "src/Sparse/DynamicSparseMatrix.h"
#include "src/Sparse/MappedSparseMatrix.h"
#include "src/Sparse/SparseVector.h"
#include "src/Sparse/CoreIterators.h"
#include "src/Sparse/SparseTranspose.h"
#include "src/Sparse/SparseCwise.h"
#include "src/Sparse/SparseCwiseUnaryOp.h"
#include "src/Sparse/SparseCwiseBinaryOp.h"
#include "src/Sparse/SparseDot.h"
#include "src/Sparse/SparseAssign.h"
#include "src/Sparse/SparseRedux.h"
#include "src/Sparse/SparseFuzzy.h"
#include "src/Sparse/SparseFlagged.h"
#include "src/Sparse/SparseProduct.h"
#include "src/Sparse/SparseDiagonalProduct.h"
#include "src/Sparse/TriangularSolver.h"
#include "src/Sparse/SparseLLT.h"
#include "src/Sparse/SparseLDLT.h"
#include "src/Sparse/SparseLU.h"

#ifdef EIGEN_CHOLMOD_SUPPORT
# include "src/Sparse/CholmodSupport.h"
#endif

#ifdef EIGEN_TAUCS_SUPPORT
# include "src/Sparse/TaucsSupport.h"
#endif

#ifdef EIGEN_SUPERLU_SUPPORT
# include "src/Sparse/SuperLUSupport.h"
#endif

#ifdef EIGEN_UMFPACK_SUPPORT
# include "src/Sparse/UmfPackSupport.h"
#endif

} // namespace Eigen

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

#endif // EIGEN_SPARSE_MODULE_H
