ΒΆtemplate <typename T>
std::enable_if_t<std::is_unsigned<T>::value, T>
SaturatingMultiplyAdd(
    T X,
    T Y,
    T A,
    bool* ResultOverflowed = nullptr)

Description

Multiply two unsigned integers, X and Y, and add the unsigned integer, A to the product. Clamp the result to the maximum representable value of T on overflow. ResultOverflowed indicates if the result is larger than the maximum representable value of type T.

Declared at: llvm/include/llvm/Support/MathExtras.h:906

Templates

T

Parameters

T X
T Y
T A
bool* ResultOverflowed = nullptr