[libc-commits] [libc] [llvm] [libc][math] Refactor f16sqrt to Header Only (PR #177167)

Muhammad Bassiouni via libc-commits libc-commits at lists.llvm.org
Mon Jan 26 09:51:50 PST 2026


================
@@ -1,34 +1,32 @@
-//===-- Implementation header for logbf16 -----------------------*- C++ -*-===//
+//===-- Implementation header for f16sqrt -----------------------*- C++ -*-===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
 // See https://llvm.org/LICENSE.txt for license information.
 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_SRC___SUPPORT_MATH_LOGBF16_H
-#define LLVM_LIBC_SRC___SUPPORT_MATH_LOGBF16_H
+#ifndef LLVM_LIBC_SRC___SUPPORT_MATH_F16SQRT_H
+#define LLVM_LIBC_SRC___SUPPORT_MATH_F16SQRT_H
 
 #include "include/llvm-libc-macros/float16-macros.h"
 
 #ifdef LIBC_TYPES_HAS_FLOAT16
 
-#include "src/__support/FPUtil/ManipulationFunctions.h"
+#include "src/__support/FPUtil/sqrt.h"
 #include "src/__support/common.h"
 #include "src/__support/macros/config.h"
 
 namespace LIBC_NAMESPACE_DECL {
-
 namespace math {
 
-LIBC_INLINE static constexpr float16 logbf16(float16 x) {
-  return fputil::logb(x);
+LIBC_INLINE static constexpr float16 f16sqrt(double x) {
+  return fputil::sqrt<float16>(x);
 }
 
 } // namespace math
-
 } // namespace LIBC_NAMESPACE_DECL
 
 #endif // LIBC_TYPES_HAS_FLOAT16
 
-#endif // LLVM_LIBC_SRC___SUPPORT_MATH_LOGBF16_H
+#endif // LLVM_LIBC_SRC___SUPPORT_MATH_F16SQRT_H
----------------
bassiounix wrote:

```suggestion
#endif // LLVM_LIBC_SRC___SUPPORT_MATH_F16SQRT_H

```

https://github.com/llvm/llvm-project/pull/177167


More information about the libc-commits mailing list