1bbb75554SSiva Chandra //===-- Implementation of llrint function ---------------------------------===// 2bbb75554SSiva Chandra // 3bbb75554SSiva Chandra // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4bbb75554SSiva Chandra // See https://llvm.org/LICENSE.txt for license information. 5bbb75554SSiva Chandra // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6bbb75554SSiva Chandra // 7bbb75554SSiva Chandra //===----------------------------------------------------------------------===// 8bbb75554SSiva Chandra 9bbb75554SSiva Chandra #include "src/math/llrint.h" 10c120edc7SMichael Jones #include "src/__support/FPUtil/NearestIntegerOperations.h" 11bbb75554SSiva Chandra #include "src/__support/common.h" 12bbb75554SSiva Chandra 13bbb75554SSiva Chandra namespace __llvm_libc { 14bbb75554SSiva Chandra 15bbb75554SSiva Chandra LLVM_LIBC_FUNCTION(long long, llrint, (double x)) { 16*1c92911eSMichael Jones return fputil::round_to_signed_integer_using_current_rounding_mode<double, 17*1c92911eSMichael Jones long long>( 18*1c92911eSMichael Jones x); 19bbb75554SSiva Chandra } 20bbb75554SSiva Chandra 21bbb75554SSiva Chandra } // namespace __llvm_libc 22