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