]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/BaseLib/MultU64x32.c
Initial import.
[mirror_edk2.git] / MdePkg / Library / BaseLib / MultU64x32.c
CommitLineData
878ddf1f 1/** @file\r
2 Math worker functions.\r
3\r
4 Copyright (c) 2006, Intel Corporation<BR>\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
15#include "BaseLibInternals.h"\r
16\r
17/**\r
18 Multiples a 64-bit unsigned integer by a 32-bit unsigned integer and\r
19 generates a 64-bit unsigned result.\r
20\r
21 This function multiples the 64-bit unsigned value Multiplicand by the 32-bit\r
22 unsigned value Multiplier and generates a 64-bit unsigned result. This 64-\r
23 bit unsigned result is returned.\r
24\r
25 If the result overflows, then ASSERT().\r
26\r
27 @param Multiplicand A 64-bit unsigned value.\r
28 @param Multiplier A 32-bit unsigned value.\r
29\r
30 @return Multiplicand * Multiplier\r
31\r
32**/\r
33UINT64\r
34EFIAPI\r
35MultU64x32 (\r
36 IN UINT64 Multiplicand,\r
37 IN UINT32 Multiplier\r
38 )\r
39{\r
40 UINT64 Result;\r
41\r
42 Result = InternalMathMultU64x32 (Multiplicand, Multiplier);\r
43 // TODO: ASSERT (Result not overflow);\r
44 return Result;\r
45}\r