Skip to content

Commit f005e2c

Browse files
[libc][math][c++23] Add {modf,remainder,remquo}bf16 math functions (#154652)
This PR adds the following basic math functions for BFloat16 type along with the tests: - modfbf16 - remainderbf16 - remquobf16 --------- Signed-off-by: Krishna Pandey <[email protected]> Co-authored-by: OverMighty <[email protected]>
1 parent a0c472d commit f005e2c

File tree

25 files changed

+338
-66
lines changed

25 files changed

+338
-66
lines changed

libc/config/baremetal/aarch64/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -786,26 +786,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
786786
libc.src.math.fminimum_mag_numbf16
787787
libc.src.math.fminimum_numbf16
788788
libc.src.math.frexpbf16
789-
libc.src.math.llrintbf16
790-
libc.src.math.llroundbf16
791-
libc.src.math.lrintbf16
792-
libc.src.math.lroundbf16
793789
libc.src.math.fromfpbf16
794790
libc.src.math.fromfpxbf16
795791
libc.src.math.getpayloadbf16
796792
libc.src.math.ilogbbf16
797793
libc.src.math.ldexpbf16
798794
libc.src.math.llogbbf16
795+
libc.src.math.llrintbf16
796+
libc.src.math.llroundbf16
799797
libc.src.math.logbbf16
798+
libc.src.math.lrintbf16
799+
libc.src.math.lroundbf16
800+
libc.src.math.modfbf16
800801
libc.src.math.nanbf16
801802
libc.src.math.nearbyintbf16
802803
libc.src.math.nextafterbf16
803804
libc.src.math.nextdownbf16
804805
libc.src.math.nexttowardbf16
805806
libc.src.math.nextupbf16
807+
libc.src.math.remainderbf16
808+
libc.src.math.remquobf16
809+
libc.src.math.rintbf16
806810
libc.src.math.roundbf16
807811
libc.src.math.roundevenbf16
808-
libc.src.math.rintbf16
809812
libc.src.math.setpayloadbf16
810813
libc.src.math.setpayloadsigbf16
811814
libc.src.math.truncbf16

libc/config/baremetal/arm/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -789,26 +789,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
789789
libc.src.math.fminimum_mag_numbf16
790790
libc.src.math.fminimum_numbf16
791791
libc.src.math.frexpbf16
792-
libc.src.math.llrintbf16
793-
libc.src.math.llroundbf16
794-
libc.src.math.lrintbf16
795-
libc.src.math.lroundbf16
796792
libc.src.math.fromfpbf16
797793
libc.src.math.fromfpxbf16
798794
libc.src.math.getpayloadbf16
799795
libc.src.math.ilogbbf16
800796
libc.src.math.ldexpbf16
801797
libc.src.math.llogbbf16
798+
libc.src.math.llrintbf16
799+
libc.src.math.llroundbf16
802800
libc.src.math.logbbf16
801+
libc.src.math.lrintbf16
802+
libc.src.math.lroundbf16
803+
libc.src.math.modfbf16
803804
libc.src.math.nanbf16
804805
libc.src.math.nearbyintbf16
805806
libc.src.math.nextafterbf16
806807
libc.src.math.nextdownbf16
807808
libc.src.math.nexttowardbf16
808809
libc.src.math.nextupbf16
810+
libc.src.math.remainderbf16
811+
libc.src.math.remquobf16
812+
libc.src.math.rintbf16
809813
libc.src.math.roundbf16
810814
libc.src.math.roundevenbf16
811-
libc.src.math.rintbf16
812815
libc.src.math.setpayloadbf16
813816
libc.src.math.setpayloadsigbf16
814817
libc.src.math.truncbf16

libc/config/baremetal/riscv/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -789,26 +789,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
789789
libc.src.math.fminimum_mag_numbf16
790790
libc.src.math.fminimum_numbf16
791791
libc.src.math.frexpbf16
792-
libc.src.math.llrintbf16
793-
libc.src.math.llroundbf16
794-
libc.src.math.lrintbf16
795-
libc.src.math.lroundbf16
796792
libc.src.math.fromfpbf16
797793
libc.src.math.fromfpxbf16
798794
libc.src.math.getpayloadbf16
799795
libc.src.math.ilogbbf16
800796
libc.src.math.ldexpbf16
801797
libc.src.math.llogbbf16
798+
libc.src.math.llrintbf16
799+
libc.src.math.llroundbf16
802800
libc.src.math.logbbf16
801+
libc.src.math.lrintbf16
802+
libc.src.math.lroundbf16
803+
libc.src.math.modfbf16
803804
libc.src.math.nanbf16
804805
libc.src.math.nearbyintbf16
805806
libc.src.math.nextafterbf16
806807
libc.src.math.nextdownbf16
807808
libc.src.math.nexttowardbf16
808809
libc.src.math.nextupbf16
810+
libc.src.math.remainderbf16
811+
libc.src.math.remquobf16
812+
libc.src.math.rintbf16
809813
libc.src.math.roundbf16
810814
libc.src.math.roundevenbf16
811-
libc.src.math.rintbf16
812815
libc.src.math.setpayloadbf16
813816
libc.src.math.setpayloadsigbf16
814817
libc.src.math.truncbf16

libc/config/darwin/aarch64/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -619,26 +619,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
619619
libc.src.math.fminimum_mag_numbf16
620620
libc.src.math.fminimum_numbf16
621621
libc.src.math.frexpbf16
622-
libc.src.math.llrintbf16
623-
libc.src.math.llroundbf16
624-
libc.src.math.lrintbf16
625-
libc.src.math.lroundbf16
626622
libc.src.math.fromfpbf16
627623
libc.src.math.fromfpxbf16
628624
libc.src.math.getpayloadbf16
629625
libc.src.math.ilogbbf16
630626
libc.src.math.ldexpbf16
631627
libc.src.math.llogbbf16
628+
libc.src.math.llrintbf16
629+
libc.src.math.llroundbf16
632630
libc.src.math.logbbf16
631+
libc.src.math.lrintbf16
632+
libc.src.math.lroundbf16
633+
libc.src.math.modfbf16
633634
libc.src.math.nanbf16
634635
libc.src.math.nearbyintbf16
635636
libc.src.math.nextafterbf16
636637
libc.src.math.nextdownbf16
637638
libc.src.math.nexttowardbf16
638639
libc.src.math.nextupbf16
640+
libc.src.math.remainderbf16
641+
libc.src.math.remquobf16
642+
libc.src.math.rintbf16
639643
libc.src.math.roundbf16
640644
libc.src.math.roundevenbf16
641-
libc.src.math.rintbf16
642645
libc.src.math.setpayloadbf16
643646
libc.src.math.setpayloadsigbf16
644647
libc.src.math.truncbf16

libc/config/darwin/x86_64/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -262,26 +262,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
262262
libc.src.math.fminimum_mag_numbf16
263263
libc.src.math.fminimum_numbf16
264264
libc.src.math.frexpbf16
265-
libc.src.math.llrintbf16
266-
libc.src.math.llroundbf16
267-
libc.src.math.lrintbf16
268-
libc.src.math.lroundbf16
269265
libc.src.math.fromfpbf16
270266
libc.src.math.fromfpxbf16
271267
libc.src.math.getpayloadbf16
272268
libc.src.math.ilogbbf16
273269
libc.src.math.ldexpbf16
274270
libc.src.math.llogbbf16
271+
libc.src.math.llrintbf16
272+
libc.src.math.llroundbf16
275273
libc.src.math.logbbf16
274+
libc.src.math.lrintbf16
275+
libc.src.math.lroundbf16
276+
libc.src.math.modfbf16
276277
libc.src.math.nanbf16
277278
libc.src.math.nearbyintbf16
278279
libc.src.math.nextafterbf16
279280
libc.src.math.nextdownbf16
280281
libc.src.math.nexttowardbf16
281282
libc.src.math.nextupbf16
283+
libc.src.math.remainderbf16
284+
libc.src.math.remquobf16
285+
libc.src.math.rintbf16
282286
libc.src.math.roundbf16
283287
libc.src.math.roundevenbf16
284-
libc.src.math.rintbf16
285288
libc.src.math.setpayloadbf16
286289
libc.src.math.setpayloadsigbf16
287290
libc.src.math.truncbf16

libc/config/gpu/amdgpu/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -645,26 +645,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
645645
libc.src.math.fminimum_mag_numbf16
646646
libc.src.math.fminimum_numbf16
647647
libc.src.math.frexpbf16
648-
libc.src.math.llrintbf16
649-
libc.src.math.llroundbf16
650-
libc.src.math.lrintbf16
651-
libc.src.math.lroundbf16
652648
libc.src.math.fromfpbf16
653649
libc.src.math.fromfpxbf16
654650
libc.src.math.getpayloadbf16
655651
libc.src.math.ilogbbf16
656652
libc.src.math.ldexpbf16
657653
libc.src.math.llogbbf16
654+
libc.src.math.llrintbf16
655+
libc.src.math.llroundbf16
658656
libc.src.math.logbbf16
657+
libc.src.math.lrintbf16
658+
libc.src.math.lroundbf16
659+
libc.src.math.modfbf16
659660
libc.src.math.nanbf16
660661
libc.src.math.nearbyintbf16
661662
libc.src.math.nextafterbf16
662663
libc.src.math.nextdownbf16
663664
libc.src.math.nexttowardbf16
664665
libc.src.math.nextupbf16
666+
libc.src.math.remainderbf16
667+
libc.src.math.remquobf16
668+
libc.src.math.rintbf16
665669
libc.src.math.roundbf16
666670
libc.src.math.roundevenbf16
667-
libc.src.math.rintbf16
668671
libc.src.math.setpayloadbf16
669672
libc.src.math.setpayloadsigbf16
670673
libc.src.math.truncbf16

libc/config/gpu/nvptx/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -647,26 +647,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
647647
libc.src.math.fminimum_mag_numbf16
648648
libc.src.math.fminimum_numbf16
649649
libc.src.math.frexpbf16
650-
libc.src.math.llrintbf16
651-
libc.src.math.llroundbf16
652-
libc.src.math.lrintbf16
653-
libc.src.math.lroundbf16
654650
libc.src.math.fromfpbf16
655651
libc.src.math.fromfpxbf16
656652
libc.src.math.getpayloadbf16
657653
libc.src.math.ilogbbf16
658654
libc.src.math.ldexpbf16
659655
libc.src.math.llogbbf16
656+
libc.src.math.llrintbf16
657+
libc.src.math.llroundbf16
660658
libc.src.math.logbbf16
659+
libc.src.math.lrintbf16
660+
libc.src.math.lroundbf16
661+
libc.src.math.modfbf16
661662
libc.src.math.nanbf16
662663
libc.src.math.nearbyintbf16
663664
libc.src.math.nextafterbf16
664665
libc.src.math.nextdownbf16
665666
libc.src.math.nexttowardbf16
666667
libc.src.math.nextupbf16
668+
libc.src.math.remainderbf16
669+
libc.src.math.remquobf16
670+
libc.src.math.rintbf16
667671
libc.src.math.roundbf16
668672
libc.src.math.roundevenbf16
669-
libc.src.math.rintbf16
670673
libc.src.math.setpayloadbf16
671674
libc.src.math.setpayloadsigbf16
672675
libc.src.math.truncbf16

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -874,26 +874,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
874874
libc.src.math.fminimum_mag_numbf16
875875
libc.src.math.fminimum_numbf16
876876
libc.src.math.frexpbf16
877-
libc.src.math.llrintbf16
878-
libc.src.math.llroundbf16
879-
libc.src.math.lrintbf16
880-
libc.src.math.lroundbf16
881877
libc.src.math.fromfpbf16
882878
libc.src.math.fromfpxbf16
883879
libc.src.math.getpayloadbf16
884880
libc.src.math.ilogbbf16
885881
libc.src.math.ldexpbf16
886882
libc.src.math.llogbbf16
883+
libc.src.math.llrintbf16
884+
libc.src.math.llroundbf16
887885
libc.src.math.logbbf16
886+
libc.src.math.lrintbf16
887+
libc.src.math.lroundbf16
888+
libc.src.math.modfbf16
888889
libc.src.math.nanbf16
889890
libc.src.math.nearbyintbf16
890891
libc.src.math.nextafterbf16
891892
libc.src.math.nextdownbf16
892893
libc.src.math.nexttowardbf16
893894
libc.src.math.nextupbf16
895+
libc.src.math.remainderbf16
896+
libc.src.math.remquobf16
897+
libc.src.math.rintbf16
894898
libc.src.math.roundbf16
895899
libc.src.math.roundevenbf16
896-
libc.src.math.rintbf16
897900
libc.src.math.setpayloadbf16
898901
libc.src.math.setpayloadsigbf16
899902
libc.src.math.truncbf16

libc/config/linux/arm/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -489,26 +489,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
489489
libc.src.math.fminimum_mag_numbf16
490490
libc.src.math.fminimum_numbf16
491491
libc.src.math.frexpbf16
492-
libc.src.math.llrintbf16
493-
libc.src.math.llroundbf16
494-
libc.src.math.lrintbf16
495-
libc.src.math.lroundbf16
496492
libc.src.math.fromfpbf16
497493
libc.src.math.fromfpxbf16
498494
libc.src.math.getpayloadbf16
499495
libc.src.math.ilogbbf16
500496
libc.src.math.ldexpbf16
501497
libc.src.math.llogbbf16
498+
libc.src.math.llrintbf16
499+
libc.src.math.llroundbf16
502500
libc.src.math.logbbf16
501+
libc.src.math.lrintbf16
502+
libc.src.math.lroundbf16
503+
libc.src.math.modfbf16
503504
libc.src.math.nanbf16
504505
libc.src.math.nearbyintbf16
505506
libc.src.math.nextafterbf16
506507
libc.src.math.nextdownbf16
507508
libc.src.math.nexttowardbf16
508509
libc.src.math.nextupbf16
510+
libc.src.math.remainderbf16
511+
libc.src.math.remquobf16
512+
libc.src.math.rintbf16
509513
libc.src.math.roundbf16
510514
libc.src.math.roundevenbf16
511-
libc.src.math.rintbf16
512515
libc.src.math.setpayloadbf16
513516
libc.src.math.setpayloadsigbf16
514517
libc.src.math.truncbf16

libc/config/linux/riscv/entrypoints.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -892,26 +892,29 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
892892
libc.src.math.fminimum_mag_numbf16
893893
libc.src.math.fminimum_numbf16
894894
libc.src.math.frexpbf16
895-
libc.src.math.llrintbf16
896-
libc.src.math.llroundbf16
897-
libc.src.math.lrintbf16
898-
libc.src.math.lroundbf16
899895
libc.src.math.fromfpbf16
900896
libc.src.math.fromfpxbf16
901897
libc.src.math.getpayloadbf16
902898
libc.src.math.ilogbbf16
903899
libc.src.math.ldexpbf16
904900
libc.src.math.llogbbf16
901+
libc.src.math.llrintbf16
902+
libc.src.math.llroundbf16
905903
libc.src.math.logbbf16
904+
libc.src.math.lrintbf16
905+
libc.src.math.lroundbf16
906+
libc.src.math.modfbf16
906907
libc.src.math.nanbf16
907908
libc.src.math.nearbyintbf16
908909
libc.src.math.nextafterbf16
909910
libc.src.math.nextdownbf16
910911
libc.src.math.nexttowardbf16
911912
libc.src.math.nextupbf16
913+
libc.src.math.remainderbf16
914+
libc.src.math.remquobf16
915+
libc.src.math.rintbf16
912916
libc.src.math.roundbf16
913917
libc.src.math.roundevenbf16
914-
libc.src.math.rintbf16
915918
libc.src.math.setpayloadbf16
916919
libc.src.math.setpayloadsigbf16
917920
libc.src.math.truncbf16

0 commit comments

Comments
 (0)