# Large Integer Functions

The following functions are used with large integers.

## In this section

FunctionDescription

Multiplies two signed 32-bit integers, returning a signed 64-bit integer result.

Performs a left logical shift operation on an unsigned 64-bit integer value. The function provides improved shifting code for left logical shifts where the shift count is in the range 0-31.

Performs a right arithmetic shift operation on a signed 64-bit integer value. The function provides improved shifting code for right arithmetic shifts where the shift count is in the range 0-31.

Performs a right logical shift operation on an unsigned 64-bit integer value. The function provides improved shifting code for right logical shifts where the shift count is in the range 0-31.

Multiplies two 32-bit values and then divides the 64-bit result by a third 32-bit value.

Multiplies two 64-bit integers to produce a 128-bit integer.

Multiplies two 64-bit integers to produce a 128-bit integer, shifts the product to the right by the specified number of bits, and returns the low 64 bits of the result.

Multiplies two 64-bit integers to produce a 128-bit integer and gets the high 64 bits.

Counts the number of one bits (population count) in a 64-bit unsigned integer.

Shifts 128-bit left.

Shifts 128-bit right.

Multiplies two unsigned 32-bit integers, returning an unsigned 64-bit integer result.

Multiplies two unsigned 64-bit integers to produce an unsigned 128-bit integer.

Multiplies two unsigned 64-bit integers to produce an unsigned 128-bit integer, shifts the product to the right by the specified number of bits, and returns the low 64 bits of the result.

Multiplies two 64-bit integers to produce a 128-bit integer and gets the high unsigned 64 bits.