cpist (He / Him) a8913a2229
[libc][math] Refactor logf16 to header-only shared math (#175408)
## Summary

Following the discussion in the RFC [1], Refactors logf16 to a
header-only shared math.

[1]
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450

## Implementation 

- Moved the core logic and lookup tables from `generic/logf16.cpp` to
`__support/math/logf16.h`
- Updated `generic/logf16.cpp` to include the new header and call
`internal::logf16`
- Updated `CMakeLists.txt` and `BUILD.bazel` to reflect the dependency
changes and new header library

Fix : https://github.com/llvm/llvm-project/issues/175367
2026-01-28 19:40:14 +00:00

29 lines
811 B
C++

//===-- Shared logf16 function ----------------------------------*- 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_SHARED_MATH_LOGF16_H
#define LLVM_LIBC_SHARED_MATH_LOGF16_H
#include "include/llvm-libc-macros/float16-macros.h"
#include "shared/libc_common.h"
#ifdef LIBC_TYPES_HAS_FLOAT16
#include "src/__support/math/logf16.h"
namespace LIBC_NAMESPACE_DECL {
namespace shared {
using math::logf16;
} // namespace shared
} // namespace LIBC_NAMESPACE_DECL
#endif // LIBC_TYPES_HAS_FLOAT16
#endif // LLVM_LIBC_SHARED_MATH_LOGF16_H