Skip to content

Commit c11acac

Browse files
authored
[libc][math][c++23] Add {frexp,ilogb,ldexp,llogb,logb}bf16 math functions (#154427)
This PR adds the following basic math functions for BFloat16 type along with the tests: - frexpbf16 - ilobbf16 - ldexpbf16 - llogbbf16 - logbbf16 --------- Signed-off-by: Krishna Pandey <[email protected]>
1 parent 0437f08 commit c11acac

34 files changed

+510
-13
lines changed

libc/config/baremetal/aarch64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,13 +785,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
785785
libc.src.math.fminimum_magbf16
786786
libc.src.math.fminimum_mag_numbf16
787787
libc.src.math.fminimum_numbf16
788+
libc.src.math.frexpbf16
788789
libc.src.math.llrintbf16
789790
libc.src.math.llroundbf16
790791
libc.src.math.lrintbf16
791792
libc.src.math.lroundbf16
792793
libc.src.math.fromfpbf16
793794
libc.src.math.fromfpxbf16
794795
libc.src.math.getpayloadbf16
796+
libc.src.math.ilogbbf16
797+
libc.src.math.ldexpbf16
798+
libc.src.math.llogbbf16
799+
libc.src.math.logbbf16
795800
libc.src.math.nanbf16
796801
libc.src.math.nearbyintbf16
797802
libc.src.math.nextafterbf16

libc/config/baremetal/arm/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,13 +788,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
788788
libc.src.math.fminimum_magbf16
789789
libc.src.math.fminimum_mag_numbf16
790790
libc.src.math.fminimum_numbf16
791+
libc.src.math.frexpbf16
791792
libc.src.math.llrintbf16
792793
libc.src.math.llroundbf16
793794
libc.src.math.lrintbf16
794795
libc.src.math.lroundbf16
795796
libc.src.math.fromfpbf16
796797
libc.src.math.fromfpxbf16
797798
libc.src.math.getpayloadbf16
799+
libc.src.math.ilogbbf16
800+
libc.src.math.ldexpbf16
801+
libc.src.math.llogbbf16
802+
libc.src.math.logbbf16
798803
libc.src.math.nanbf16
799804
libc.src.math.nearbyintbf16
800805
libc.src.math.nextafterbf16

libc/config/baremetal/riscv/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,13 +788,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
788788
libc.src.math.fminimum_magbf16
789789
libc.src.math.fminimum_mag_numbf16
790790
libc.src.math.fminimum_numbf16
791+
libc.src.math.frexpbf16
791792
libc.src.math.llrintbf16
792793
libc.src.math.llroundbf16
793794
libc.src.math.lrintbf16
794795
libc.src.math.lroundbf16
795796
libc.src.math.fromfpbf16
796797
libc.src.math.fromfpxbf16
797798
libc.src.math.getpayloadbf16
799+
libc.src.math.ilogbbf16
800+
libc.src.math.ldexpbf16
801+
libc.src.math.llogbbf16
802+
libc.src.math.logbbf16
798803
libc.src.math.nanbf16
799804
libc.src.math.nearbyintbf16
800805
libc.src.math.nextafterbf16

libc/config/darwin/aarch64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -618,13 +618,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
618618
libc.src.math.fminimum_magbf16
619619
libc.src.math.fminimum_mag_numbf16
620620
libc.src.math.fminimum_numbf16
621+
libc.src.math.frexpbf16
621622
libc.src.math.llrintbf16
622623
libc.src.math.llroundbf16
623624
libc.src.math.lrintbf16
624625
libc.src.math.lroundbf16
625626
libc.src.math.fromfpbf16
626627
libc.src.math.fromfpxbf16
627628
libc.src.math.getpayloadbf16
629+
libc.src.math.ilogbbf16
630+
libc.src.math.ldexpbf16
631+
libc.src.math.llogbbf16
632+
libc.src.math.logbbf16
628633
libc.src.math.nanbf16
629634
libc.src.math.nearbyintbf16
630635
libc.src.math.nextafterbf16

libc/config/darwin/x86_64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,13 +261,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
261261
libc.src.math.fminimum_magbf16
262262
libc.src.math.fminimum_mag_numbf16
263263
libc.src.math.fminimum_numbf16
264+
libc.src.math.frexpbf16
264265
libc.src.math.llrintbf16
265266
libc.src.math.llroundbf16
266267
libc.src.math.lrintbf16
267268
libc.src.math.lroundbf16
268269
libc.src.math.fromfpbf16
269270
libc.src.math.fromfpxbf16
270271
libc.src.math.getpayloadbf16
272+
libc.src.math.ilogbbf16
273+
libc.src.math.ldexpbf16
274+
libc.src.math.llogbbf16
275+
libc.src.math.logbbf16
271276
libc.src.math.nanbf16
272277
libc.src.math.nearbyintbf16
273278
libc.src.math.nextafterbf16

libc/config/gpu/amdgpu/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,13 +644,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
644644
libc.src.math.fminimum_magbf16
645645
libc.src.math.fminimum_mag_numbf16
646646
libc.src.math.fminimum_numbf16
647+
libc.src.math.frexpbf16
647648
libc.src.math.llrintbf16
648649
libc.src.math.llroundbf16
649650
libc.src.math.lrintbf16
650651
libc.src.math.lroundbf16
651652
libc.src.math.fromfpbf16
652653
libc.src.math.fromfpxbf16
653654
libc.src.math.getpayloadbf16
655+
libc.src.math.ilogbbf16
656+
libc.src.math.ldexpbf16
657+
libc.src.math.llogbbf16
658+
libc.src.math.logbbf16
654659
libc.src.math.nanbf16
655660
libc.src.math.nearbyintbf16
656661
libc.src.math.nextafterbf16

libc/config/gpu/nvptx/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,13 +646,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
646646
libc.src.math.fminimum_magbf16
647647
libc.src.math.fminimum_mag_numbf16
648648
libc.src.math.fminimum_numbf16
649+
libc.src.math.frexpbf16
649650
libc.src.math.llrintbf16
650651
libc.src.math.llroundbf16
651652
libc.src.math.lrintbf16
652653
libc.src.math.lroundbf16
653654
libc.src.math.fromfpbf16
654655
libc.src.math.fromfpxbf16
655656
libc.src.math.getpayloadbf16
657+
libc.src.math.ilogbbf16
658+
libc.src.math.ldexpbf16
659+
libc.src.math.llogbbf16
660+
libc.src.math.logbbf16
656661
libc.src.math.nanbf16
657662
libc.src.math.nearbyintbf16
658663
libc.src.math.nextafterbf16

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -873,13 +873,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
873873
libc.src.math.fminimum_magbf16
874874
libc.src.math.fminimum_mag_numbf16
875875
libc.src.math.fminimum_numbf16
876+
libc.src.math.frexpbf16
876877
libc.src.math.llrintbf16
877878
libc.src.math.llroundbf16
878879
libc.src.math.lrintbf16
879880
libc.src.math.lroundbf16
880881
libc.src.math.fromfpbf16
881882
libc.src.math.fromfpxbf16
882883
libc.src.math.getpayloadbf16
884+
libc.src.math.ilogbbf16
885+
libc.src.math.ldexpbf16
886+
libc.src.math.llogbbf16
887+
libc.src.math.logbbf16
883888
libc.src.math.nanbf16
884889
libc.src.math.nearbyintbf16
885890
libc.src.math.nextafterbf16

libc/config/linux/arm/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,13 +488,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
488488
libc.src.math.fminimum_magbf16
489489
libc.src.math.fminimum_mag_numbf16
490490
libc.src.math.fminimum_numbf16
491+
libc.src.math.frexpbf16
491492
libc.src.math.llrintbf16
492493
libc.src.math.llroundbf16
493494
libc.src.math.lrintbf16
494495
libc.src.math.lroundbf16
495496
libc.src.math.fromfpbf16
496497
libc.src.math.fromfpxbf16
497498
libc.src.math.getpayloadbf16
499+
libc.src.math.ilogbbf16
500+
libc.src.math.ldexpbf16
501+
libc.src.math.llogbbf16
502+
libc.src.math.logbbf16
498503
libc.src.math.nanbf16
499504
libc.src.math.nearbyintbf16
500505
libc.src.math.nextafterbf16

libc/config/linux/riscv/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -891,13 +891,18 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
891891
libc.src.math.fminimum_magbf16
892892
libc.src.math.fminimum_mag_numbf16
893893
libc.src.math.fminimum_numbf16
894+
libc.src.math.frexpbf16
894895
libc.src.math.llrintbf16
895896
libc.src.math.llroundbf16
896897
libc.src.math.lrintbf16
897898
libc.src.math.lroundbf16
898899
libc.src.math.fromfpbf16
899900
libc.src.math.fromfpxbf16
900901
libc.src.math.getpayloadbf16
902+
libc.src.math.ilogbbf16
903+
libc.src.math.ldexpbf16
904+
libc.src.math.llogbbf16
905+
libc.src.math.logbbf16
901906
libc.src.math.nanbf16
902907
libc.src.math.nearbyintbf16
903908
libc.src.math.nextafterbf16

0 commit comments

Comments
 (0)