#ifndef EIGEN_GENERAL_MATRIX_MATRIX_H
#define EIGEN_GENERAL_MATRIX_MATRIX_H
#include "../InternalHeaderCheck.h"
namespace Eigen {
namespace internal {
template <typename LhsScalar_, typename RhsScalar_>
class level3_blocking;
general_matrix_matrix_product<Index, LhsScalar, LhsStorageOrder, ConjugateLhs, RhsScalar, RhsStorageOrder, ConjugateRhs, RowMajor, ResInnerStride>;
general_matrix_matrix_product<Index, LhsScalar, LhsStorageOrder, ConjugateLhs, RhsScalar, RhsStorageOrder, ConjugateRhs, ColMajor, ResInnerStride>;
template <typename Scalar, typename Index, typename Gemm, typename Lhs, typename Rhs, typename Dest,
typename BlockingType>
struct gemm_functor { … };
template <int StorageOrder, typename LhsScalar, typename RhsScalar, int MaxRows, int MaxCols, int MaxDepth,
int KcFactor = 1, bool FiniteAtCompileTime = MaxRows != Dynamic && MaxCols != Dynamic && MaxDepth != Dynamic>
class gemm_blocking_space;
template <typename LhsScalar_, typename RhsScalar_>
class level3_blocking { … };
gemm_blocking_space<StorageOrder, LhsScalar_, RhsScalar_, MaxRows, MaxCols, MaxDepth, KcFactor, true>;
gemm_blocking_space<StorageOrder, LhsScalar_, RhsScalar_, MaxRows, MaxCols, MaxDepth, KcFactor, false>;
}
namespace internal {
generic_product_impl<Lhs, Rhs, DenseShape, DenseShape, GemmProduct>;
}
}
#endif