mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-07 00:19:27 +00:00
AK: Expose Checked::saturating_[add|sub] as static helpers
This commit is contained in:
parent
af161a8b83
commit
127b966219
16
AK/Checked.h
16
AK/Checked.h
|
@ -338,6 +338,22 @@ public:
|
||||||
#endif
|
#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>
|
template<typename U, typename V>
|
||||||
[[nodiscard]] static constexpr bool multiplication_would_overflow(U u, V v)
|
[[nodiscard]] static constexpr bool multiplication_would_overflow(U u, V v)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue