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