diff --git a/tensorflow/core/kernels/cwise_ops.h b/tensorflow/core/kernels/cwise_ops.h index 2865b490f58..898147b3661 100644 --- a/tensorflow/core/kernels/cwise_ops.h +++ b/tensorflow/core/kernels/cwise_ops.h @@ -426,7 +426,7 @@ struct google_floor_fmod { EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T operator()(const T& x, const T& y) const { // EIGEN_STATIC_ASSERT(NUMERIC_TYPE_MUST_BE_REAL); - T trunc_mod = std::fmod(x, y); + T trunc_mod = scalar_fmod_op()(x, y); return trunc_mod != T(0) && (y < T(0) != trunc_mod < T(0)) ? trunc_mod + y : trunc_mod; } @@ -435,8 +435,8 @@ struct google_floor_fmod { template struct functor_traits> { enum { - Cost = 2 * Eigen::internal::scalar_div_cost::value + - 2 * NumTraits::AddCost, + Cost = functor_traits>::Cost + + NumTraits::AddCost, PacketAccess = false }; }; @@ -447,7 +447,7 @@ struct google_floor_mod { EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const T operator()(const T& x, const T& y) const { // EIGEN_STATIC_ASSERT(!NUMERIC_TYPE_MUST_BE_REAL); - T trunc_mod = x % y; + T trunc_mod = Eigen::internal::scalar_mod2_op()(x, y); return trunc_mod != T(0) && (y < T(0) != trunc_mod < T(0)) ? trunc_mod + y : trunc_mod; } @@ -456,8 +456,8 @@ struct google_floor_mod { template struct functor_traits> { enum { - Cost = 2 * Eigen::internal::scalar_div_cost::value + - 2 * NumTraits::AddCost, + Cost = functor_traits>::Cost + + NumTraits::AddCost, PacketAccess = false }; };