// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

#ifndef EIGEN_KRONECKER_PRODUCT_MODULE_H
#define EIGEN_KRONECKER_PRODUCT_MODULE_H

#include "../../Eigen/Core"
#include "../../Eigen/SparseCore"

namespace Eigen {

/**
  * \defgroup KroneckerProduct_Module KroneckerProduct module
  *
  * This module contains an experimental Kronecker product implementation.
  *
  * \code
  * #include <Eigen/KroneckerProduct>
  * \endcode
  */

} // namespace Eigen

// IWYU pragma: begin_exports
#include "src/KroneckerProduct/KroneckerTensorProduct.h"
// IWYU pragma: end_exports

#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"

#endif // EIGEN_KRONECKER_PRODUCT_MODULE_H
