/* * arm/math.c - math routines for ARM * * Copright (C) 2014 Linaro Ltd. * Author: Ard Biesheuvel * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 2 of the License, or (at your option) * any later version. */ #include "lib.h" UINT64 LShiftU64 ( IN UINT64 Operand, IN UINTN Count ) // Left shift 64bit by 32bit and get a 64bit result { return Operand << Count; } UINT64 RShiftU64 ( IN UINT64 Operand, IN UINTN Count ) // Right shift 64bit by 32bit and get a 64bit result { return Operand >> Count; } UINT64 MultU64x32 ( IN UINT64 Multiplicand, IN UINTN Multiplier ) // Multiple 64bit by 32bit and get a 64bit result { return Multiplicand * Multiplier; }