ΒΆtemplate <typename T>
typename std::
    enable_if<std::is_unsigned<T>::value, T>::type
    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:856

Templates

T

Parameters

T X
T Y
T A
bool* ResultOverflowed = nullptr