Anirudh Mathur
6e224cede2
[libc][math] Refactor bf16fma to Header Only ( #182572 )
...
Fixes #181625
2026-03-16 17:05:54 +00:00
Abhijeet
cf979d5a96
[libc][math] Refactored atanpif16 to header only ( #184316 )
...
Fixes #178105
2026-03-16 18:57:29 +02:00
Xinlong Chen
458096d5f8
[libc][math][c23] Add atan2f16 function ( #183531 )
...
Add atan2f16 function
closes https://github.com/llvm/llvm-project/issues/180969
Part of https://github.com/llvm/llvm-project/issues/95250 .
also refactor to header only, it's a part of
https://github.com/llvm/llvm-project/issues/147386
2026-03-13 22:12:44 +02:00
sid
bc108761e9
[libc][math] Refactor bf16div to be header-only ( #181400 )
...
Closes #181022
Part of #147386
2026-03-13 20:08:00 +00:00
Chinmay Ingle
4fdf089073
[libc][math] Move hypot to shared/math and make it constexpr ( #177588 )
...
Closes #175339
2026-03-13 19:57:05 +00:00
Anonmiraj
785581213c
[libc][math] Implement C23 half precision erf function ( #179251 )
...
The implementation reuses the approach in `erff`
Closes #133112
2026-03-13 10:16:59 -04:00
Zorojuro
ad054822eb
[libc][math][c23] Add hypotbf16 function ( #183460 )
...
This PR intends to add hypotbf16 higher math function for BFloat16 type
along with the tests.
2026-03-13 10:11:33 -04:00
Zorojuro
0bebee6782
[libc][math][c++23] Add Fmabf16 math function ( #182836 )
...
closes #180171
part of #177259
Here are some extra changes apart from the usual which were needed
1. `libc/src/__support/FPUtil/generic/add_sub.h` → +0 -0 error
2. `libc/src/__support/FPUtil/generic/FMA.h` → implemented to handle
fmabf16(Normal,Normal,+/-INF)
```jsx
/home/runner/work/llvm-project/llvm-project/libc/test/src/math/fmabf16_test.cpp:62: FAILURE
Failed to match __llvm_libc_23_0_0_git::fmabf16(x, y, z) against LIBC_NAMESPACE::testing::mpfr::get_mpfr_matcher<mpfr::Operation::Fma>( input, __llvm_libc_23_0_0_git::fmabf16(x, y, z), 0.5, mpfr::RoundingMode::Nearest).
Input decimal: x: 338953138925153547590470800371487866880.00000000000000000000000000000000000000000000000000 y: 338953138925153547590470800371487866880.00000000000000000000000000000000000000000000000000 z: -inf
First input bits: 0x7F7F = (S: 0, E: 0x00FE, M: 0x007F)
Second input bits: 0x7F7F = (S: 0, E: 0x00FE, M: 0x007F)
Third input bits: (-Infinity)
Libc result: nan
MPFR result: -inf
Libc floating point result bits: (NaN)
MPFR rounded bits: (-Infinity)
```
1. ~~`libc/src/__support/FPUtil/bfloat16.h` → to handle *= operator for
Bfloat16 ( uses the already available mult operator)~~
moved to #182882
The exhaustive test currently includes subnormal range and for checking
for specific edge cases . This is due to the repeated failure at <2^32
input space specifically only for ubuntu 24.04 and 24.04-arm
The removed tests included -> PositiveRange and NegativeRange for
Normals and an extra positive test for subnormals/Denormals
Let me know if there are any changes expected or anything I missed in
this .
cc: @lntue @krishna2803 @overmighty
2026-03-13 05:33:52 +00:00
Zorojuro
9548db811e
[libc][math] Refactor ffmaf128 into a header only. ( #184751 )
...
closes #175325
part of #147386
2026-03-05 23:31:40 +02:00
Mohamed Emad
62cfe1659e
[libc][math][c23] implement C23 acospif math function ( #183661 )
...
Implementing C23 `acospi` math function for single-precision with the
header-only approach that is followed since #147386
2026-02-28 04:32:45 +02:00
Mohamed Emad
fb6b470cae
[libc][math] Refactor floor family to header-only ( #182194 )
...
Refactors the floor math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182193
Target Functions:
- floor
- floorbf16
- floorf
- floorf128
- floorf16
- floorl
2026-02-28 04:32:22 +02:00
Mohamed Emad
ca04a70891
[libc][math] Refactor bf16sub family to header-only ( #182115 )
...
Refactors the bf16sub math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182114
Target Functions:
- bf16sub
- bf16subf
- bf16subf128
2026-02-27 21:38:30 +02:00
Anonmiraj
7e39b280e8
[libc][math] Refactor nextafter family to header-only ( #181673 )
...
closes #181672
2026-02-27 01:52:57 +02:00
Zorojuro
27905b1196
[libc][math] Refactor f16sqrtf128 to Header Only. ( #183542 )
...
closes #175328
part of https://github.com/llvm/llvm-project/issues/147386
2026-02-26 20:48:56 +02:00
Weiwen He
3839878d20
[libc][math] Refactor tanpif16 to header-only ( #181240 )
...
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Closes #181207
2026-02-26 17:49:50 +00:00
Mohamed Emad
8f3dd82a0a
[libc][math][c23] implement asinpif function ( #181511 )
...
Implementing `asinpi` for single-precision. it continues what is done in
#152690 that implemented `asinpif16` with header-only approach that is
followed since #147386
2026-02-26 05:05:49 +02:00
Mohamed Emad
d7cdfa1096
[libc][math] Refactor fdim family to header-only ( #182190 )
...
Refactors the fdim math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182188
Target Functions:
- fdim
- fdimbf16
- fdimf
- fdimf128
- fdimf16
- fdiml
2026-02-25 21:06:01 +00:00
Anonmiraj
bfaa15ee56
[libc][math] Refactor float16 basic operations to header-only ( #181745 )
...
closes : #181744
2026-02-25 20:56:33 +02:00
Anonmiraj
d2d862a544
[libc][math] Refactor nexttoward family to header-only ( #181685 )
...
Closes https://github.com/llvm/llvm-project/issues/181684
2026-02-25 18:20:18 +00:00
Anonmiraj
af1bdad42c
[libc][math] Refactor nextup family to header-only ( #181688 )
...
Closes https://github.com/llvm/llvm-project/issues/181687
2026-02-25 17:58:11 +00:00
Anonmiraj
4ef6a8a16e
[libc][math] Refactor nextdown family to header-only ( #181679 )
...
closes #181678
2026-02-24 21:38:33 +02:00
Anonmiraj
4a1f565c85
[libc][math] Refactor setpayloadsig family to header-only ( #183113 )
...
closes : #181823
2026-02-24 20:47:20 +02:00
Julian Pokrovsky
8ed290cd1d
[libc][math] Refactor asinpif16 to Header Only ( #179021 )
...
Resolves https://github.com/llvm/llvm-project/issues/178103
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
2026-02-24 19:55:16 +02:00
Anonmiraj
03388af319
[libc][math] Refactor setpayload family to header-only ( #182922 )
...
part of #181823
2026-02-24 19:50:07 +02:00
Mohamed Emad
05a039489d
[libc][math] Refactor bf16mul family to header-only ( #182018 )
...
Refactors the bf16mul math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182017
Target Functions:
- bf16mul
- bf16mulf
- bf16mulf128
- bf16mull
2026-02-24 02:24:01 +00:00
Armillus
3b9c27d1fc
[libc][math] Refactor bf16addl implementation to header-only in src/__support/math folder. ( #182561 )
...
Resolves https://github.com/llvm/llvm-project/issues/181019
Part of https://github.com/llvm/llvm-project/issues/147386
2026-02-23 19:29:55 +00:00
Anonmiraj
b19a0e0107
[libc][math] Refactor getpayload family functions to header-only ( #181824 )
...
Refactors the payload_functions math family to be header-only.
part of: https://github.com/llvm/llvm-project/issues/181823
Target Functions:
- getpayload
- getpayloadbf16
- getpayloadf
- getpayloadf128
- getpayloadf16
2026-02-23 21:19:48 +02:00
Mohamed Emad
5bccf343e6
[libc][math] Refactor bf16fmaf128 to header-only ( #182009 )
...
Close #181627
2026-02-23 21:06:20 +02:00
Mohamed Emad
13e6ffda47
[libc][math] Refactor fadd family to header-only ( #182185 )
...
Refactors the fadd math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182184
Target Functions:
- fadd
- faddf128
- faddl
2026-02-19 23:59:33 +00:00
Mohamed Emad
b19d21a1e5
[libc][math] Refactor fmax family to header-only ( #182165 )
...
Refactors the fmax math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182164
Target Functions:
- fmax
- fmaxbf16
- fmaxf
- fmaxf128
- fmaxf16
- fmaxl
2026-02-19 23:40:52 +00:00
Mohamed Emad
6ac9c2ed7f
[libc][math] Refactor ceil family to header-only ( #182121 )
...
Refactors the ceil math family to be header-only.
Closes https://github.com/llvm/llvm-project/issues/182120
Target Functions:
- ceil
- ceilbf16
- ceilf
- ceilf128
- ceilf16
- ceill
2026-02-20 01:32:17 +02:00
Serosh
3fafed392d
[libc][math] change bf16fmal to be header-only and constexpr-compat ( #181666 )
...
Closes : #181628
Part of: #147386
2026-02-18 20:14:51 +02:00
AbdallahRashed
7ad2a632a3
[libc][math] Refactor bf16divl to header-only ( #181535 )
...
Part of https://github.com/llvm/llvm-project/issues/147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Closes #181025
2026-02-18 14:09:18 +00:00
Vachan
79f8eba842
[libc][math] Refactor logbl to header only ( #181659 )
...
Closes #175366
2026-02-18 14:03:17 +00:00
Atharv Mane
b92ab89ed6
[libc][math] Refactor f16add Math Functions to Header Only ( #181777 )
...
Resolves #181630
Part of #147386
2026-02-18 15:55:53 +02:00
Xinlong Chen
b576429342
[libc][math] Refactor tanpif to header only ( #181525 )
...
Part of https://github.com/llvm/llvm-project/issues/147386
2026-02-18 15:53:27 +02:00
Xinlong Chen
1cb86450d8
[libc][math] Refactor tanf16 to header only ( #181523 )
...
Part of https://github.com/llvm/llvm-project/issues/147386
2026-02-18 15:50:11 +02:00
Abhijeet
61616f2d59
[libc][math] Refactored bf16fmaf to Header Only ( #181919 )
...
Fixes #181626
2026-02-18 00:34:02 +02:00
Ash
cc5909b3e3
[libc][math] Refactor sincos implementation to header only ( #177522 )
...
Part of llvm#147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Closes #177638
2026-02-17 23:57:05 +02:00
bala-bhargav
0eaf12321e
[libc][math] Refactor bf16divf implementation to header-only in src/__support/math folder. ( #181086 )
2026-02-17 23:52:03 +02:00
Dhruv
9bf11863d1
[libc][math] Refactor logb implementation to header-only ( #175719 )
...
Fixes #175365
2026-02-17 21:34:38 +00:00
Viktor Moros
550c48b02e
[libc][math] Refactor bf16addf to header only ( #181230 )
...
Resolves #181017
Part of #147386
2026-02-17 21:31:57 +00:00
DannyDaoBoYang
054021d8c0
[libc][math] Refactor sinpif16 to header only. ( #178503 )
...
Closes #176476
Part of #147386
2026-02-16 11:34:52 +02:00
Anonmiraj
e6fdcf3289
[libc][math] Refactor canonicalize function family to header-only ( #181467 )
...
closes : #181466
2026-02-16 11:28:14 +02:00
Atharv Mane
5a6f504922
[libc][math] Refactor bf16add to header only ( #181392 )
...
Resolves #181016
Part of #147386
2026-02-15 03:38:58 +02:00
Xinlong Chen
a4cb2b00df
[libc][math] Refactor tanhf16 implementation to header-only in src/__support/math folder. ( #178645 )
...
Part of https://github.com/llvm/llvm-project/issues/147386
closed https://github.com/llvm/llvm-project/issues/178492
2026-02-15 03:37:00 +02:00
Zorojuro
8ccc40ee0e
[libc][math] Refactor hypotf16 to Header Only ( #180511 ).
...
closes #175337
part of #175336
2026-02-14 06:21:34 +00:00
Menace
bcf0ecf786
[libc][math] Refactor ffma implementation to header-only in src/__support/math folder ( #175304 ).
...
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
2026-02-14 06:08:36 +00:00
Xinlong Chen
a1d856a894
[libc][math] Refactor tanhf implementation to header-only in src/__support/math folder. ( #178554 )
...
Part of https://github.com/llvm/llvm-project/issues/147386
closes https://github.com/llvm/llvm-project/issues/178493
2026-02-14 06:04:38 +00:00
Abhijeet
2693adf197
[libc][math] Refactor bf16addf128 to header only ( #181058 )
...
Resolves #181018
Part of #147386
2026-02-14 05:49:18 +00:00