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