From 9c6b82bcd5a9129f3b51cfe9ce1927529a91d0c7 Mon Sep 17 00:00:00 2001 From: Benoit Steiner Date: Fri, 17 Apr 2015 09:12:18 -0700 Subject: Use ptrdiff_t instead of size_t to encode fixed sizes. This silences several clang compilation warnings (transplanted from 4400e4436ac7c5bbd305a03c21aa4bce24ae199b) --- .../Eigen/CXX11/src/Tensor/TensorDimensions.h | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h') diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h b/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h index 89dffbdfd..c936773bf 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h @@ -74,16 +74,16 @@ struct fixed_size_tensor_index_linearization_helper -struct Sizes : internal::numeric_list { - typedef internal::numeric_list Base; - static const std::size_t total_size = internal::arg_prod(Indices...); +template +struct Sizes : internal::numeric_list { + typedef internal::numeric_list Base; + static const std::ptrdiff_t total_size = internal::arg_prod(Indices...); - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE size_t rank() const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t rank() const { return Base::count; } - static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::size_t TotalSize() { + static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t TotalSize() { return internal::arg_prod(Indices...); } @@ -94,7 +94,7 @@ struct Sizes : internal::numeric_list { } #ifdef EIGEN_HAS_VARIADIC_TEMPLATES template Sizes(DenseIndex...) { } - explicit Sizes(std::initializer_list /*l*/) { + explicit Sizes(std::initializer_list /*l*/) { // todo: add assertion } #endif @@ -114,8 +114,8 @@ struct Sizes : internal::numeric_list { } }; -template -EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::size_t array_prod(const Sizes&) { +template +EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t array_prod(const Sizes&) { return Sizes::total_size; } @@ -327,13 +327,13 @@ template struct array_size struct array_size > { -static const size_t value = Sizes::count; +template struct array_size > { +static const std::ptrdiff_t value = Sizes::count; }; -template struct array_size > { -static const size_t value = Sizes::count; +template struct array_size > { +static const std::ptrdiff_t value = Sizes::count; }; -template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::size_t array_get(const Sizes&) { +template EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE std::ptrdiff_t array_get(const Sizes&) { return get >::value; } #else -- cgit v1.2.3