#ifndef EIGEN_TAUCSSUPPORT_MODULE_H
#define EIGEN_TAUCSSUPPORT_MODULE_H

#include "SparseExtra"

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

// 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

namespace Eigen {

/** \ingroup Unsupported_modules
  * \defgroup TaucsSupport_Module Taucs support module
  *
  *
  *
  *
  * \code
  * #include <Eigen/TaucsSupport>
  * \endcode
  */

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

} // namespace Eigen

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

#endif // EIGEN_TAUCSSUPPORT_MODULE_H
