Index: ui/gfx/geometry/safe_integer_conversions.h |
diff --git a/ui/gfx/geometry/safe_integer_conversions.h b/ui/gfx/geometry/safe_integer_conversions.h |
index 58ed2a9336ea12a2d2e632d13b50851cdcad83b8..873378018b497f6c1b0ce5465e6931e7e0d412b8 100644 |
--- a/ui/gfx/geometry/safe_integer_conversions.h |
+++ b/ui/gfx/geometry/safe_integer_conversions.h |
@@ -47,6 +47,15 @@ inline int ToRoundedInt(float value) { |
return ClampToInt(rounded); |
} |
+inline int ToRoundedInt(double value) { |
+ double rounded; |
+ if (value >= 0.0) |
+ rounded = std::floor(value + 0.5); |
+ else |
+ rounded = std::ceil(value - 0.5); |
+ return ClampToInt(rounded); |
+} |
+ |
inline bool IsExpressibleAsInt(float value) { |
if (value != value) |
return false; // no int NaN. |