#ifndef EIGEN_SPARSE_MODULE_H
#define EIGEN_SPARSE_MODULE_H

#include "Core"
#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

#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 {

#include "src/Sparse/SparseUtil.h"
#include "src/Sparse/SparseMatrixBase.h"
#include "src/Sparse/SparseArray.h"
#include "src/Sparse/AmbiVector.h"
#include "src/Sparse/RandomSetter.h"
#include "src/Sparse/SparseBlock.h"
#include "src/Sparse/SparseMatrix.h"
//#include "src/Sparse/HashMatrix.h"
//#include "src/Sparse/LinkedVectorMatrix.h"
#include "src/Sparse/CoreIterators.h"
//#include "src/Sparse/SparseSetter.h"
#include "src/Sparse/SparseProduct.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

#endif // EIGEN_SPARSE_MODULE_H
