浏览代码

AK: Expose Checked::saturating_[add|sub] as static helpers

Hendiadyoin1 2 年之前
父节点
当前提交
127b966219
共有 1 个文件被更改,包括 16 次插入0 次删除
  1. 16 0
      AK/Checked.h

+ 16 - 0
AK/Checked.h

@@ -338,6 +338,22 @@ public:
 #endif
     }
 
+    template<typename U, typename V>
+    static constexpr T saturating_add(U a, V b)
+    {
+        Checked checked { a };
+        checked.saturating_add(b);
+        return checked.value();
+    }
+
+    template<typename U, typename V>
+    static constexpr T saturating_sub(U a, V b)
+    {
+        Checked checked { a };
+        checked.saturating_sub(b);
+        return checked.value();
+    }
+
     template<typename U, typename V>
     [[nodiscard]] static constexpr bool multiplication_would_overflow(U u, V v)
     {