xref: /llvm-project/libc/src/math/generic/scalbnl.cpp (revision 5ff3ff33ff930e4ec49da7910612d8a41eb068cb)
16cb14adbSRenyi Chen //===-- Single-precision scalbnl function ---------------------------------===//
26cb14adbSRenyi Chen //
36cb14adbSRenyi Chen // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
46cb14adbSRenyi Chen // See https://llvm.org/LICENSE.txt for license information.
56cb14adbSRenyi Chen // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
66cb14adbSRenyi Chen //
76cb14adbSRenyi Chen //===----------------------------------------------------------------------===//
86cb14adbSRenyi Chen 
96cb14adbSRenyi Chen #include "src/math/scalbnl.h"
104486fcbaSlntue #include "hdr/float_macros.h"
116cb14adbSRenyi Chen #include "src/__support/FPUtil/ManipulationFunctions.h"
126cb14adbSRenyi Chen #include "src/__support/common.h"
13*5ff3ff33SPetr Hosek #include "src/__support/macros/config.h"
146cb14adbSRenyi Chen 
154486fcbaSlntue #if FLT_RADIX != 2
164486fcbaSlntue #error "FLT_RADIX != 2 is not supported."
174486fcbaSlntue #endif
184486fcbaSlntue 
19*5ff3ff33SPetr Hosek namespace LIBC_NAMESPACE_DECL {
206cb14adbSRenyi Chen 
216cb14adbSRenyi Chen LLVM_LIBC_FUNCTION(long double, scalbnl, (long double x, int n)) {
226cb14adbSRenyi Chen   return fputil::ldexp(x, n);
236cb14adbSRenyi Chen }
246cb14adbSRenyi Chen 
25*5ff3ff33SPetr Hosek } // namespace LIBC_NAMESPACE_DECL
26