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