TianoCore EDK2 master
|
#include "BaseLibInternals.h"
Go to the source code of this file.
Functions | |
UINT64 EFIAPI | InternalMathLShiftU64 (IN UINT64 Operand, IN UINTN Count) |
UINT64 EFIAPI | InternalMathRShiftU64 (IN UINT64 Operand, IN UINTN Count) |
UINT64 EFIAPI | InternalMathARShiftU64 (IN UINT64 Operand, IN UINTN Count) |
UINT64 EFIAPI | InternalMathLRotU64 (IN UINT64 Operand, IN UINTN Count) |
UINT64 EFIAPI | InternalMathRRotU64 (IN UINT64 Operand, IN UINTN Count) |
UINT64 EFIAPI | InternalMathSwapBytes64 (IN UINT64 Operand) |
UINT64 EFIAPI | InternalMathMultU64x32 (IN UINT64 Multiplicand, IN UINT32 Multiplier) |
UINT64 EFIAPI | InternalMathMultU64x64 (IN UINT64 Multiplicand, IN UINT64 Multiplier) |
UINT64 EFIAPI | InternalMathDivU64x32 (IN UINT64 Dividend, IN UINT32 Divisor) |
UINT32 EFIAPI | InternalMathModU64x32 (IN UINT64 Dividend, IN UINT32 Divisor) |
UINT64 EFIAPI | InternalMathDivRemU64x32 (IN UINT64 Dividend, IN UINT32 Divisor, OUT UINT32 *Remainder OPTIONAL) |
UINT64 EFIAPI | InternalMathDivRemU64x64 (IN UINT64 Dividend, IN UINT64 Divisor, OUT UINT64 *Remainder OPTIONAL) |
INT64 EFIAPI | InternalMathDivRemS64x64 (IN INT64 Dividend, IN INT64 Divisor, OUT INT64 *Remainder OPTIONAL) |
Leaf math worker functions that require 64-bit arithmetic support from the compiler.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file Math64.c.
Shifts a 64-bit integer right between 0 and 63 bits. The high bits are filled with original integer's bit 63. The shifted value is returned.
This function shifts the 64-bit value Operand to the right by Count bits. The high Count bits are set to bit 63 of Operand. The shifted value is returned.
Operand | The 64-bit operand to shift right. |
Count | The number of bits to shift right. |
INT64 EFIAPI InternalMathDivRemS64x64 | ( | IN INT64 | Dividend, |
IN INT64 | Divisor, | ||
OUT INT64 *Remainder | OPTIONAL | ||
) |
Divides a 64-bit signed integer by a 64-bit signed integer and generates a 64-bit signed result and an optional 64-bit signed remainder.
This function divides the 64-bit signed value Dividend by the 64-bit signed value Divisor and generates a 64-bit signed quotient. If Remainder is not NULL, then the 64-bit signed remainder is returned in Remainder. This function returns the 64-bit signed quotient.
Dividend | A 64-bit signed value. |
Divisor | A 64-bit signed value. |
Remainder | A pointer to a 64-bit signed value. This parameter is optional and may be NULL. |
UINT64 EFIAPI InternalMathDivRemU64x32 | ( | IN UINT64 | Dividend, |
IN UINT32 | Divisor, | ||
OUT UINT32 *Remainder | OPTIONAL | ||
) |
Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates a 64-bit unsigned result and an optional 32-bit unsigned remainder.
This function divides the 64-bit unsigned value Dividend by the 32-bit unsigned value Divisor and generates a 64-bit unsigned quotient. If Remainder is not NULL, then the 32-bit unsigned remainder is returned in Remainder. This function returns the 64-bit unsigned quotient.
Dividend | A 64-bit unsigned value. |
Divisor | A 32-bit unsigned value. |
Remainder | A pointer to a 32-bit unsigned value. This parameter is optional and may be NULL. |
UINT64 EFIAPI InternalMathDivRemU64x64 | ( | IN UINT64 | Dividend, |
IN UINT64 | Divisor, | ||
OUT UINT64 *Remainder | OPTIONAL | ||
) |
Divides a 64-bit unsigned integer by a 64-bit unsigned integer and generates a 64-bit unsigned result and an optional 64-bit unsigned remainder.
This function divides the 64-bit unsigned value Dividend by the 64-bit unsigned value Divisor and generates a 64-bit unsigned quotient. If Remainder is not NULL, then the 64-bit unsigned remainder is returned in Remainder. This function returns the 64-bit unsigned quotient.
Dividend | A 64-bit unsigned value. |
Divisor | A 64-bit unsigned value. |
Remainder | A pointer to a 64-bit unsigned value. This parameter is optional and may be NULL. |
Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates a 64-bit unsigned result.
This function divides the 64-bit unsigned value Dividend by the 32-bit unsigned value Divisor and generates a 64-bit unsigned quotient. This function returns the 64-bit unsigned quotient.
Dividend | A 64-bit unsigned value. |
Divisor | A 32-bit unsigned value. |
Rotates a 64-bit integer left between 0 and 63 bits, filling the low bits with the high bits that were rotated.
This function rotates the 64-bit value Operand to the left by Count bits. The low Count bits are fill with the high Count bits of Operand. The rotated value is returned.
Operand | The 64-bit operand to rotate left. |
Count | The number of bits to rotate left. |
Shifts a 64-bit integer left between 0 and 63 bits. The low bits are filled with zeros. The shifted value is returned.
This function shifts the 64-bit value Operand to the left by Count bits. The low Count bits are set to zero. The shifted value is returned.
Operand | The 64-bit operand to shift left. |
Count | The number of bits to shift left. |
Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates a 32-bit unsigned remainder.
This function divides the 64-bit unsigned value Dividend by the 32-bit unsigned value Divisor and generates a 32-bit remainder. This function returns the 32-bit unsigned remainder.
Dividend | A 64-bit unsigned value. |
Divisor | A 32-bit unsigned value. |
Multiplies a 64-bit unsigned integer by a 32-bit unsigned integer and generates a 64-bit unsigned result.
This function multiplies the 64-bit unsigned value Multiplicand by the 32-bit unsigned value Multiplier and generates a 64-bit unsigned result. This 64- bit unsigned result is returned.
Multiplicand | A 64-bit unsigned value. |
Multiplier | A 32-bit unsigned value. |
Multiplies a 64-bit unsigned integer by a 64-bit unsigned integer and generates a 64-bit unsigned result.
This function multiplies the 64-bit unsigned value Multiplicand by the 64-bit unsigned value Multiplier and generates a 64-bit unsigned result. This 64- bit unsigned result is returned.
Multiplicand | A 64-bit unsigned value. |
Multiplier | A 64-bit unsigned value. |
Rotates a 64-bit integer right between 0 and 63 bits, filling the high bits with the high low bits that were rotated.
This function rotates the 64-bit value Operand to the right by Count bits. The high Count bits are fill with the low Count bits of Operand. The rotated value is returned.
Operand | The 64-bit operand to rotate right. |
Count | The number of bits to rotate right. |
Shifts a 64-bit integer right between 0 and 63 bits. This high bits are filled with zeros. The shifted value is returned.
This function shifts the 64-bit value Operand to the right by Count bits. The high Count bits are set to zero. The shifted value is returned.
Operand | The 64-bit operand to shift right. |
Count | The number of bits to shift right. |
UINT64 EFIAPI InternalMathSwapBytes64 | ( | IN UINT64 | Operand | ) |
Switches the endianess of a 64-bit integer.
This function swaps the bytes in a 64-bit unsigned value to switch the value from little endian to big endian or vice versa. The byte swapped value is returned.
Operand | A 64-bit unsigned value. |