16cb14adbSRenyi Chen //===-- Single-precision scalbn 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/scalbn.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(double, scalbn, (double x, int n)) { 226cb14adbSRenyi Chen return fputil::ldexp(x, n); 236cb14adbSRenyi Chen } 246cb14adbSRenyi Chen 25*5ff3ff33SPetr Hosek } // namespace LIBC_NAMESPACE_DECL 26