xref: /llvm-project/libc/src/math/generic/scalblnf16.cpp (revision 5ff3ff33ff930e4ec49da7910612d8a41eb068cb)
1b5efd214SOverMighty //===-- Implementation of scalblnf16 function -----------------------------===//
2b5efd214SOverMighty //
3b5efd214SOverMighty // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4b5efd214SOverMighty // See https://llvm.org/LICENSE.txt for license information.
5b5efd214SOverMighty // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6b5efd214SOverMighty //
7b5efd214SOverMighty //===----------------------------------------------------------------------===//
8b5efd214SOverMighty 
9b5efd214SOverMighty #include "src/math/scalblnf16.h"
10b5efd214SOverMighty #include "src/__support/FPUtil/ManipulationFunctions.h"
11b5efd214SOverMighty #include "src/__support/common.h"
12b5efd214SOverMighty 
13b5efd214SOverMighty #include "hdr/float_macros.h"
14*5ff3ff33SPetr Hosek #include "src/__support/macros/config.h"
15b5efd214SOverMighty 
16b5efd214SOverMighty #if FLT_RADIX != 2
17b5efd214SOverMighty #error "FLT_RADIX != 2 is not supported."
18b5efd214SOverMighty #endif
19b5efd214SOverMighty 
20*5ff3ff33SPetr Hosek namespace LIBC_NAMESPACE_DECL {
21b5efd214SOverMighty 
22b5efd214SOverMighty LLVM_LIBC_FUNCTION(float16, scalblnf16, (float16 x, long n)) {
23b5efd214SOverMighty   return fputil::ldexp(x, n);
24b5efd214SOverMighty }
25b5efd214SOverMighty 
26*5ff3ff33SPetr Hosek } // namespace LIBC_NAMESPACE_DECL
27