blob: aa28fc8ccbfa83cdefd31458f85417dab6946ce5 [file] [log] [blame]
bbahnsen878ddf12006-04-21 22:54:32 +00001/** @file
2 Math worker functions.
3
4 Copyright (c) 2006, Intel Corporation<BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#include "BaseLibInternals.h"
16
17/**
18 Divides a 64-bit signed integer by a 64-bit signed integer and generates a
19 64-bit signed result and a optional 64-bit signed remainder.
20
21 This function divides the 64-bit signed value Dividend by the 64-bit signed
22 value Divisor and generates a 64-bit signed quotient. If Remainder is not
23 NULL, then the 64-bit signed remainder is returned in Remainder. This
24 function returns the 64-bit signed quotient.
25
26 If Divisor is 0, then ASSERT().
27
28 @param Dividend A 64-bit signed value.
29 @param Divisor A 64-bit signed value.
30 @param Remainder A pointer to a 64-bit signed value. This parameter is
31 optional and may be NULL.
32
33 @return Dividend / Divisor
34
35**/
36INT64
37EFIAPI
38DivS64x64Remainder (
39 IN INT64 Dividend,
40 IN INT64 Divisor,
41 OUT INT64 *Remainder
42 )
43{
44 ASSERT (Divisor != 0);
45 return InternalMathDivRemS64x64 (Dividend, Divisor, Remainder);
46}