1 /** @file 2 Math worker functions. 3 4 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> 5 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 16 17 18 #include "BaseLibInternals.h" 19 20 /** 21 Multiplies a 64-bit signed integer by a 64-bit signed integer and generates a 22 64-bit signed result. 23 24 This function multiplies the 64-bit signed value Multiplicand by the 64-bit 25 signed value Multiplier and generates a 64-bit signed result. This 64-bit 26 signed result is returned. 27 28 @param Multiplicand A 64-bit signed value. 29 @param Multiplier A 64-bit signed value. 30 31 @return Multiplicand * Multiplier. 32 33 **/ 34 INT64 35 EFIAPI 36 MultS64x64 ( 37 IN INT64 Multiplicand, 38 IN INT64 Multiplier 39 ) 40 { 41 return (INT64)MultU64x64 ((UINT64) Multiplicand, (UINT64) Multiplier); 42 } 43