#ifndef EIGEN_CXX11_TENSOR_TENSOR_FUNCTORS_H
#define EIGEN_CXX11_TENSOR_TENSOR_FUNCTORS_H
#include "./InternalHeaderCheck.h"
namespace Eigen {
namespace internal {
template <typename Scalar>
struct scalar_mod_op { … };
functor_traits<scalar_mod_op<Scalar>>;
template <typename Scalar>
struct scalar_mod2_op { … };
functor_traits<scalar_mod2_op<Scalar>>;
template <typename Scalar>
struct scalar_fmod_op { … };
functor_traits<scalar_fmod_op<Scalar>>;
template <typename Reducer, typename Device>
struct reducer_traits { … };
template <typename T>
struct SumReducer { … };
reducer_traits<SumReducer<T>, Device>;
template <typename T>
struct MeanReducer { … };
reducer_traits<MeanReducer<T>, Device>;
template <typename T, bool IsMax = true, bool IsInteger = true>
struct MinMaxBottomValue { … };
MinMaxBottomValue<T, true, false>;
MinMaxBottomValue<T, false, true>;
MinMaxBottomValue<T, false, false>;
template <typename T, int NaNPropagation = PropagateFast>
struct MaxReducer { … };
reducer_traits<MaxReducer<T, NaNPropagation>, Device>;
template <typename T, int NaNPropagation = PropagateFast>
struct MinReducer { … };
reducer_traits<MinReducer<T, NaNPropagation>, Device>;
template <typename T>
struct ProdReducer { … };
reducer_traits<ProdReducer<T>, Device>;
struct AndReducer { … };
reducer_traits<AndReducer, Device>;
struct OrReducer { … };
reducer_traits<OrReducer, Device>;
template <typename T>
struct ArgMaxPairReducer { … };
reducer_traits<ArgMaxPairReducer<T>, Device>;
template <typename T>
struct ArgMinPairReducer { … };
reducer_traits<ArgMinPairReducer<T>, Device>;
template <typename T, typename Index, size_t NumDims>
class GaussianGenerator { … };
functor_traits<GaussianGenerator<T, Index, NumDims>>;
template <typename Scalar>
struct scalar_clamp_op { … };
functor_traits<scalar_clamp_op<Scalar>>;
}
}
#endif