diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h b/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h index 78214df11..1a736ee2b 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h @@ -155,20 +155,20 @@ struct TensorEvaluator= 0; --i) { - m_leftStrides[i] = m_leftStrides[i+1] * lhs_dims[i+1]; - m_rightStrides[i] = m_rightStrides[i+1] * rhs_dims[i+1]; - m_outputStrides[i] = m_outputStrides[i+1] * m_dimensions[i+1]; + for (int j = NumDims - 2; j >= 0; --j) { + m_leftStrides[j] = m_leftStrides[j+1] * lhs_dims[j+1]; + m_rightStrides[j] = m_rightStrides[j+1] * rhs_dims[j+1]; + m_outputStrides[j] = m_outputStrides[j+1] * m_dimensions[j+1]; } } } diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h b/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h index 59b70ad5c..a513f1891 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h @@ -142,15 +142,15 @@ struct TensorEvaluator, Device> switch (op.padding_type()) { case PADDING_VALID: - m_outputRows = ceil((m_inputRows - op.patch_rows() + 1.f) / static_cast(m_row_strides)); - m_outputCols = ceil((m_inputCols - op.patch_cols() + 1.f) / static_cast(m_col_strides)); + m_outputRows = std::ceil((m_inputRows - op.patch_rows() + 1.f) / static_cast(m_row_strides)); + m_outputCols = std::ceil((m_inputCols - op.patch_cols() + 1.f) / static_cast(m_col_strides)); // Calculate the padding m_rowPaddingTop = ((m_outputRows - 1) * m_row_strides + op.patch_rows() - m_inputRows) / 2; m_colPaddingLeft = ((m_outputCols - 1) * m_col_strides + op.patch_cols() - m_inputCols) / 2; break; case PADDING_SAME: - m_outputRows = ceil(m_inputRows / static_cast(m_row_strides)); - m_outputCols = ceil(m_inputCols / static_cast(m_col_strides)); + m_outputRows = std::ceil(m_inputRows / static_cast(m_row_strides)); + m_outputCols = std::ceil(m_inputCols / static_cast(m_col_strides)); // Calculate the padding m_rowPaddingTop = ((m_outputRows - 1) * m_row_strides + op.patch_rows() - m_inputRows) / 2; m_colPaddingLeft = ((m_outputCols - 1) * m_col_strides + op.patch_cols() - m_inputCols) / 2;