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   DivU64x32.c
16 
17 Abstract:
18 
19   Math worker functions.
20 
21 --*/
22 
23 #include "BaseLibInternals.h"
24 
25 /**
26   Divides a 64-bit unsigned integer by a 32-bit unsigned integer and generates
27   a 64-bit unsigned result.
28 
29   This function divides the 64-bit unsigned value Dividend by the 32-bit
30   unsigned value Divisor and generates a 64-bit unsigned quotient. This
31   function returns the 64-bit unsigned quotient.
32 
33   If Divisor is 0, then ASSERT().
34 
35   @param  Dividend  A 64-bit unsigned value.
36   @param  Divisor   A 32-bit unsigned value.
37 
38   @return Dividend / Divisor
39 
40 **/
41 UINT64
42 EFIAPI
GlueDivU64x32(IN UINT64 Dividend,IN UINT32 Divisor)43 GlueDivU64x32 (
44   IN      UINT64                    Dividend,
45   IN      UINT32                    Divisor
46   )
47 {
48   ASSERT (Divisor != 0);
49   return InternalMathDivU64x32 (Dividend, Divisor);
50 }
51