#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 <slu_Cnames.h>
  #include <supermatrix.h>
  #include <slu_util.h>

  namespace SuperLU_S {
  #include <slu_sdefs.h>
  }
  namespace SuperLU_D {
  #include <slu_ddefs.h>
  }
  namespace SuperLU_C {
  #include <slu_cdefs.h>
  }
  namespace SuperLU_Z {
  #include <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/SparseNestByValue.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/SparseTriangular.h"
#include "src/Sparse/TriangularSolver.h"
#include "src/Sparse/SparseLLT.h"
#include "src/Sparse/SparseLDLT.h"
#include "src/Sparse/SparseLU.h"
#include "src/Sparse/SparseExpressionMaker.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
