[libc][math] Implement powf function correctly rounded to all rounding modes. (#71188)
[llvm-project.git] / libc / test / src / math / smoke / CMakeLists.txt
blob75508752a41fd8e933201f5b86581570d8e8fe30
1 add_custom_target(libc-math-smoke-tests)
2 add_dependencies(libc-math-unittests libc-math-smoke-tests)
4 add_fp_unittest(
5   cosf_test
6   SUITE
7     libc-math-smoke-tests
8   SRCS
9     cosf_test.cpp
10   DEPENDS
11     libc.src.errno.errno
12     libc.src.math.cosf
13     libc.src.__support.CPP.array
14     libc.src.__support.FPUtil.fp_bits
17 add_fp_unittest(
18   sinf_test
19   SUITE
20     libc-math-smoke-tests
21   SRCS
22     sinf_test.cpp
23   DEPENDS
24     libc.src.errno.errno
25     libc.src.math.sinf
26     libc.src.__support.CPP.array
27     libc.src.__support.FPUtil.fp_bits
30 add_fp_unittest(
31   sincosf_test
32   SUITE
33     libc-math-smoke-tests
34   SRCS
35     sincosf_test.cpp
36   DEPENDS
37     libc.src.errno.errno
38     libc.src.math.sincosf
39     libc.src.__support.CPP.array
40     libc.src.__support.FPUtil.fp_bits
43 add_fp_unittest(
44   tanf_test
45   SUITE
46     libc-math-smoke-tests
47   SRCS
48     tanf_test.cpp
49   DEPENDS
50     libc.src.errno.errno
51     libc.src.math.tanf
52     libc.src.__support.CPP.array
53     libc.src.__support.FPUtil.fp_bits
56 add_fp_unittest(
57   fabs_test
58   SUITE
59     libc-math-smoke-tests
60   SRCS
61     fabs_test.cpp
62   HDRS
63     FAbsTest.h
64   DEPENDS
65     libc.include.math
66     libc.src.math.fabs
67     libc.src.__support.FPUtil.fp_bits
70 add_fp_unittest(
71   fabsf_test
72   SUITE
73     libc-math-smoke-tests
74   SRCS
75     fabsf_test.cpp
76   HDRS
77     FAbsTest.h
78   DEPENDS
79     libc.include.math
80     libc.src.math.fabsf
81     libc.src.__support.FPUtil.fp_bits
84 add_fp_unittest(
85   fabsl_test
86   SUITE
87     libc-math-smoke-tests
88   SRCS
89     fabsl_test.cpp
90   HDRS
91     FAbsTest.h
92   DEPENDS
93     libc.include.math
94     libc.src.math.fabsl
95     libc.src.__support.FPUtil.fp_bits
98 add_fp_unittest(
99   trunc_test
100   SUITE
101     libc-math-smoke-tests
102   SRCS
103     trunc_test.cpp
104   HDRS
105     TruncTest.h
106   DEPENDS
107     libc.include.math
108     libc.src.math.trunc
109     libc.src.__support.FPUtil.fp_bits
112 add_fp_unittest(
113   truncf_test
114   SUITE
115     libc-math-smoke-tests
116   SRCS
117     truncf_test.cpp
118   HDRS
119     TruncTest.h
120   DEPENDS
121     libc.include.math
122     libc.src.math.truncf
123     libc.src.__support.FPUtil.fp_bits
126 add_fp_unittest(
127   truncl_test
128   SUITE
129     libc-math-smoke-tests
130   SRCS
131     truncl_test.cpp
132   HDRS
133     TruncTest.h
134   DEPENDS
135     libc.include.math
136     libc.src.math.truncl
137     libc.src.__support.FPUtil.fp_bits
140 add_fp_unittest(
141   ceil_test
142   SUITE
143     libc-math-smoke-tests
144   SRCS
145     ceil_test.cpp
146   HDRS
147     CeilTest.h
148   DEPENDS
149     libc.include.math
150     libc.src.math.ceil
151     libc.src.__support.FPUtil.fp_bits
154 add_fp_unittest(
155   ceilf_test
156   SUITE
157     libc-math-smoke-tests
158   SRCS
159     ceilf_test.cpp
160   HDRS
161     CeilTest.h
162   DEPENDS
163     libc.include.math
164     libc.src.math.ceilf
165     libc.src.__support.FPUtil.fp_bits
168 add_fp_unittest(
169   ceill_test
170   SUITE
171     libc-math-smoke-tests
172   SRCS
173     ceill_test.cpp
174   HDRS
175     CeilTest.h
176   DEPENDS
177     libc.include.math
178     libc.src.math.ceill
179     libc.src.__support.FPUtil.fp_bits
182 add_fp_unittest(
183   floor_test
184   SUITE
185     libc-math-smoke-tests
186   SRCS
187     floor_test.cpp
188   HDRS
189     FloorTest.h
190   DEPENDS
191     libc.include.math
192     libc.src.math.floor
193     libc.src.__support.FPUtil.fp_bits
196 add_fp_unittest(
197   floorf_test
198   SUITE
199     libc-math-smoke-tests
200   SRCS
201     floorf_test.cpp
202   HDRS
203     FloorTest.h
204   DEPENDS
205     libc.include.math
206     libc.src.math.floorf
207     libc.src.__support.FPUtil.fp_bits
210 add_fp_unittest(
211   floorl_test
212   SUITE
213     libc-math-smoke-tests
214   SRCS
215     floorl_test.cpp
216   HDRS
217     FloorTest.h
218   DEPENDS
219     libc.include.math
220     libc.src.math.floorl
221     libc.src.__support.FPUtil.fp_bits
224 add_fp_unittest(
225   round_test
226   SUITE
227     libc-math-smoke-tests
228   SRCS
229     round_test.cpp
230   HDRS
231     RoundTest.h
232   DEPENDS
233     libc.include.math
234     libc.src.math.round
235     libc.src.__support.FPUtil.fp_bits
238 add_fp_unittest(
239   roundf_test
240   SUITE
241     libc-math-smoke-tests
242   SRCS
243     roundf_test.cpp
244   HDRS
245     RoundTest.h
246   DEPENDS
247     libc.include.math
248     libc.src.math.roundf
249     libc.src.__support.FPUtil.fp_bits
252 add_fp_unittest(
253   roundl_test
254   SUITE
255     libc-math-smoke-tests
256   SRCS
257     roundl_test.cpp
258   HDRS
259     RoundTest.h
260   DEPENDS
261     libc.include.math
262     libc.src.math.roundl
263     libc.src.__support.FPUtil.fp_bits
266 add_fp_unittest(
267   lround_test
268   SUITE
269     libc-math-smoke-tests
270   SRCS
271     lround_test.cpp
272   HDRS
273     RoundToIntegerTest.h
274   DEPENDS
275     libc.include.math
276     libc.src.errno.errno
277     libc.src.fenv.feclearexcept
278     libc.src.fenv.feraiseexcept
279     libc.src.fenv.fetestexcept
280     libc.src.math.lround
281     libc.src.__support.FPUtil.fp_bits
284 add_fp_unittest(
285   lroundf_test
286   SUITE
287     libc-math-smoke-tests
288   SRCS
289     lroundf_test.cpp
290   HDRS
291     RoundToIntegerTest.h
292   DEPENDS
293     libc.include.math
294     libc.src.errno.errno
295     libc.src.fenv.feclearexcept
296     libc.src.fenv.feraiseexcept
297     libc.src.fenv.fetestexcept
298     libc.src.math.lroundf
299     libc.src.__support.FPUtil.fp_bits
302 add_fp_unittest(
303   lroundl_test
304   SUITE
305     libc-math-smoke-tests
306   SRCS
307     lroundl_test.cpp
308   HDRS
309     RoundToIntegerTest.h
310   DEPENDS
311     libc.include.math
312     libc.src.errno.errno
313     libc.src.fenv.feclearexcept
314     libc.src.fenv.feraiseexcept
315     libc.src.fenv.fetestexcept
316     libc.src.math.lroundl
317     libc.src.__support.FPUtil.fp_bits
320 add_fp_unittest(
321   llround_test
322   SUITE
323     libc-math-smoke-tests
324   SRCS
325     llround_test.cpp
326   HDRS
327     RoundToIntegerTest.h
328   DEPENDS
329     libc.include.math
330     libc.src.errno.errno
331     libc.src.fenv.feclearexcept
332     libc.src.fenv.feraiseexcept
333     libc.src.fenv.fetestexcept
334     libc.src.math.llround
335     libc.src.__support.FPUtil.fp_bits
338 add_fp_unittest(
339   llroundf_test
340   SUITE
341     libc-math-smoke-tests
342   SRCS
343     llroundf_test.cpp
344   HDRS
345     RoundToIntegerTest.h
346   DEPENDS
347     libc.include.math
348     libc.src.errno.errno
349     libc.src.fenv.feclearexcept
350     libc.src.fenv.feraiseexcept
351     libc.src.fenv.fetestexcept
352     libc.src.math.llroundf
353     libc.src.__support.FPUtil.fp_bits
356 add_fp_unittest(
357   llroundl_test
358   SUITE
359     libc-math-smoke-tests
360   SRCS
361     llroundl_test.cpp
362   HDRS
363     RoundToIntegerTest.h
364   DEPENDS
365     libc.include.math
366     libc.src.errno.errno
367     libc.src.fenv.feclearexcept
368     libc.src.fenv.feraiseexcept
369     libc.src.fenv.fetestexcept
370     libc.src.math.llroundl
371     libc.src.__support.FPUtil.fp_bits
374 add_fp_unittest(
375   rint_test
376   SUITE
377     libc-math-smoke-tests
378   SRCS
379     rint_test.cpp
380   HDRS
381     RIntTest.h
382   DEPENDS
383     libc.include.math
384     libc.src.math.rint
385     libc.src.__support.FPUtil.fenv_impl
386     libc.src.__support.FPUtil.fp_bits
389 add_fp_unittest(
390   rintf_test
391   SUITE
392     libc-math-smoke-tests
393   SRCS
394     rintf_test.cpp
395   HDRS
396     RIntTest.h
397   DEPENDS
398     libc.include.math
399     libc.src.math.rintf
400     libc.src.__support.FPUtil.fenv_impl
401     libc.src.__support.FPUtil.fp_bits
404 add_fp_unittest(
405   rintl_test
406   SUITE
407     libc-math-smoke-tests
408   SRCS
409     rintl_test.cpp
410   HDRS
411     RIntTest.h
412   DEPENDS
413     libc.include.math
414     libc.src.math.rintl
415     libc.src.__support.FPUtil.fenv_impl
416     libc.src.__support.FPUtil.fp_bits
419 add_fp_unittest(
420   lrint_test
421   SUITE
422     libc-math-smoke-tests
423   SRCS
424     lrint_test.cpp
425   HDRS
426     RoundToIntegerTest.h
427   DEPENDS
428     libc.include.math
429     libc.src.math.lrint
430     libc.src.__support.FPUtil.fenv_impl
431     libc.src.__support.FPUtil.fp_bits
434 add_fp_unittest(
435   lrintf_test
436   SUITE
437     libc-math-smoke-tests
438   SRCS
439     lrintf_test.cpp
440   HDRS
441     RoundToIntegerTest.h
442   DEPENDS
443     libc.include.math
444     libc.src.math.lrintf
445     libc.src.__support.FPUtil.fenv_impl
446     libc.src.__support.FPUtil.fp_bits
449 add_fp_unittest(
450   lrintl_test
451   SUITE
452     libc-math-smoke-tests
453   SRCS
454     lrintl_test.cpp
455   HDRS
456     RoundToIntegerTest.h
457   DEPENDS
458     libc.include.math
459     libc.src.math.lrintl
460     libc.src.__support.FPUtil.fenv_impl
461     libc.src.__support.FPUtil.fp_bits
464 add_fp_unittest(
465   llrint_test
466   SUITE
467     libc-math-smoke-tests
468   SRCS
469     llrint_test.cpp
470   HDRS
471     RoundToIntegerTest.h
472   DEPENDS
473     libc.include.math
474     libc.src.math.llrint
475     libc.src.__support.FPUtil.fenv_impl
476     libc.src.__support.FPUtil.fp_bits
479 add_fp_unittest(
480   llrintf_test
481   SUITE
482     libc-math-smoke-tests
483   SRCS
484     llrintf_test.cpp
485   HDRS
486     RoundToIntegerTest.h
487   DEPENDS
488     libc.include.math
489     libc.src.math.llrintf
490     libc.src.__support.FPUtil.fenv_impl
491     libc.src.__support.FPUtil.fp_bits
494 add_fp_unittest(
495   llrintl_test
496   SUITE
497     libc-math-smoke-tests
498   SRCS
499     llrintl_test.cpp
500   HDRS
501     RoundToIntegerTest.h
502   DEPENDS
503     libc.include.math
504     libc.src.math.llrintl
505     libc.src.__support.FPUtil.fenv_impl
506     libc.src.__support.FPUtil.fp_bits
509 add_fp_unittest(
510   expf_test
511   SUITE
512     libc-math-smoke-tests
513   SRCS
514     expf_test.cpp
515   DEPENDS
516     libc.src.errno.errno
517     libc.include.math
518     libc.src.math.expf
519     libc.src.__support.FPUtil.fp_bits
522 add_fp_unittest(
523  exp_test
524  SUITE
525    libc-math-smoke-tests
526  SRCS
527    exp_test.cpp
528  DEPENDS
529    libc.src.errno.errno
530    libc.include.math
531    libc.src.math.exp
532    libc.src.__support.FPUtil.fp_bits
535 add_fp_unittest(
536   exp2f_test
537   SUITE
538     libc-math-smoke-tests
539   SRCS
540     exp2f_test.cpp
541   DEPENDS
542     libc.src.errno.errno
543     libc.include.math
544     libc.src.math.exp2f
545     libc.src.__support.FPUtil.fp_bits
548 add_fp_unittest(
549  exp2_test
550  SUITE
551    libc-math-smoke-tests
552  SRCS
553    exp2_test.cpp
554  DEPENDS
555    libc.src.errno.errno
556    libc.include.math
557    libc.src.math.exp2
558    libc.src.__support.FPUtil.fp_bits
561 add_fp_unittest(
562   exp10f_test
563   SUITE
564     libc-math-smoke-tests
565   SRCS
566     exp10f_test.cpp
567   DEPENDS
568     libc.src.errno.errno
569     libc.include.math
570     libc.src.math.exp10f
571     libc.src.__support.FPUtil.fp_bits
574 add_fp_unittest(
575  exp10_test
576  SUITE
577    libc-math-smoke-tests
578  SRCS
579    exp10_test.cpp
580  DEPENDS
581    libc.src.errno.errno
582    libc.include.math
583    libc.src.math.exp10
584    libc.src.__support.FPUtil.fp_bits
587 add_fp_unittest(
588   copysign_test
589   SUITE
590     libc-math-smoke-tests
591   SRCS
592     copysign_test.cpp
593   HDRS
594     CopySignTest.h
595   DEPENDS
596     libc.include.math
597     libc.src.math.copysign
598     libc.src.__support.FPUtil.fp_bits
601 add_fp_unittest(
602   copysignf_test
603   SUITE
604     libc-math-smoke-tests
605   SRCS
606     copysignf_test.cpp
607   HDRS
608     CopySignTest.h
609   DEPENDS
610     libc.include.math
611     libc.src.math.copysignf
612     libc.src.__support.FPUtil.fp_bits
615 add_fp_unittest(
616   copysignl_test
617   SUITE
618     libc-math-smoke-tests
619   SRCS
620     copysignl_test.cpp
621   HDRS
622     CopySignTest.h
623   DEPENDS
624     libc.include.math
625     libc.src.math.copysignl
626     libc.src.__support.FPUtil.fp_bits
629 add_fp_unittest(
630   frexp_test
631   SUITE
632     libc-math-smoke-tests
633   SRCS
634     frexp_test.cpp
635   HDRS
636     FrexpTest.h
637   DEPENDS
638     libc.include.math
639     libc.src.math.frexp
640     libc.src.__support.FPUtil.basic_operations
643 add_fp_unittest(
644   frexpf_test
645   SUITE
646     libc-math-smoke-tests
647   SRCS
648     frexpf_test.cpp
649   HDRS
650     FrexpTest.h
651   DEPENDS
652     libc.include.math
653     libc.src.math.frexpf
654     libc.src.__support.FPUtil.basic_operations
657 add_fp_unittest(
658   frexpl_test
659   SUITE
660     libc-math-smoke-tests
661   SRCS
662     frexpl_test.cpp
663   HDRS
664     FrexpTest.h
665   DEPENDS
666     libc.include.math
667     libc.src.math.frexpl
668     libc.src.__support.FPUtil.basic_operations
671 # FIXME: These tests are currently broken for NVPTX.
672 if(NOT LIBC_GPU_TARGET_ARCHITECTURE_IS_NVPTX)
673   add_fp_unittest(
674     ilogb_test
675     SUITE
676       libc-math-smoke-tests
677     SRCS
678       ilogb_test.cpp
679     HDRS
680       ILogbTest.h
681     DEPENDS
682       libc.include.math
683       libc.src.math.ilogb
684       libc.src.__support.FPUtil.fp_bits
685       libc.src.__support.FPUtil.manipulation_functions
686   )
688   add_fp_unittest(
689     ilogbf_test
690     SUITE
691       libc-math-smoke-tests
692     SRCS
693       ilogbf_test.cpp
694     HDRS
695       ILogbTest.h
696     DEPENDS
697       libc.include.math
698       libc.src.math.ilogbf
699       libc.src.__support.FPUtil.fp_bits
700       libc.src.__support.FPUtil.manipulation_functions
701   )
702 endif()
704 add_fp_unittest(
705   ilogbl_test
706   SUITE
707     libc-math-smoke-tests
708   SRCS
709     ilogbl_test.cpp
710   HDRS
711     ILogbTest.h
712   DEPENDS
713     libc.include.math
714     libc.src.math.ilogbl
715     libc.src.__support.FPUtil.fp_bits
716     libc.src.__support.FPUtil.manipulation_functions
719 add_fp_unittest(
720   ldexp_test
721   SUITE
722     libc-math-smoke-tests
723   SRCS
724     ldexp_test.cpp
725   HDRS
726     LdExpTest.h
727   DEPENDS
728     libc.include.math
729     libc.src.math.ldexp
730     libc.src.__support.FPUtil.fp_bits
731     libc.src.__support.FPUtil.normal_float
734 add_fp_unittest(
735   ldexpf_test
736   SUITE
737     libc-math-smoke-tests
738   SRCS
739     ldexpf_test.cpp
740   HDRS
741     LdExpTest.h
742   DEPENDS
743     libc.include.math
744     libc.src.math.ldexpf
745     libc.src.__support.FPUtil.fp_bits
746     libc.src.__support.FPUtil.normal_float
749 add_fp_unittest(
750   ldexpl_test
751   SUITE
752     libc-math-smoke-tests
753   SRCS
754     ldexpl_test.cpp
755   HDRS
756     LdExpTest.h
757   DEPENDS
758     libc.include.math
759     libc.src.math.ldexpl
760     libc.src.__support.FPUtil.fp_bits
761     libc.src.__support.FPUtil.normal_float
764 add_fp_unittest(
765   logb_test
766   SUITE
767     libc-math-smoke-tests
768   SRCS
769     logb_test.cpp
770   DEPENDS
771     libc.include.math
772     libc.src.math.logb
773     libc.src.__support.FPUtil.manipulation_functions
776 add_fp_unittest(
777   logbf_test
778   SUITE
779     libc-math-smoke-tests
780   SRCS
781     logbf_test.cpp
782   DEPENDS
783     libc.include.math
784     libc.src.math.logbf
785     libc.src.__support.FPUtil.manipulation_functions
788 add_fp_unittest(
789   logbl_test
790   SUITE
791     libc-math-smoke-tests
792   SRCS
793     logbl_test.cpp
794   HDRS
795     LogbTest.h
796   DEPENDS
797     libc.include.math
798     libc.src.math.logbl
799     libc.src.__support.FPUtil.manipulation_functions
802 add_fp_unittest(
803   modf_test
804   SUITE
805     libc-math-smoke-tests
806   SRCS
807     modf_test.cpp
808   HDRS
809     ModfTest.h
810   DEPENDS
811     libc.include.math
812     libc.src.math.modf
813     libc.src.__support.FPUtil.basic_operations
814     libc.src.__support.FPUtil.nearest_integer_operations
815   # Requires C++ limits.
816   UNIT_TEST_ONLY
819 add_fp_unittest(
820   modff_test
821   SUITE
822     libc-math-smoke-tests
823   SRCS
824     modff_test.cpp
825   HDRS
826     ModfTest.h
827   DEPENDS
828     libc.include.math
829     libc.src.math.modff
830     libc.src.__support.FPUtil.basic_operations
831     libc.src.__support.FPUtil.nearest_integer_operations
832   # Requires C++ limits.
833   UNIT_TEST_ONLY
836 add_fp_unittest(
837   modfl_test
838   SUITE
839     libc-math-smoke-tests
840   SRCS
841     modfl_test.cpp
842   HDRS
843     ModfTest.h
844   DEPENDS
845     libc.include.math
846     libc.src.math.modfl
847     libc.src.__support.FPUtil.basic_operations
848     libc.src.__support.FPUtil.nearest_integer_operations
851 add_fp_unittest(
852   fdimf_test
853   SUITE
854     libc-math-smoke-tests
855   SRCS
856     fdimf_test.cpp
857   HDRS
858     FDimTest.h
859   DEPENDS
860     libc.include.math
861     libc.src.math.fdimf
862     libc.src.__support.FPUtil.basic_operations
863     libc.src.__support.FPUtil.fp_bits
866 add_fp_unittest(
867   fdim_test
868   SUITE
869     libc-math-smoke-tests
870   SRCS
871     fdim_test.cpp
872   HDRS
873     FDimTest.h
874   DEPENDS
875     libc.include.math
876     libc.src.math.fdim
877     libc.src.__support.FPUtil.basic_operations
878     libc.src.__support.FPUtil.fp_bits
881 add_fp_unittest(
882   fdiml_test
883   SUITE
884     libc-math-smoke-tests
885   SRCS
886     fdiml_test.cpp
887   HDRS
888     FDimTest.h
889   DEPENDS
890     libc.include.math
891     libc.src.math.fdiml
892     libc.src.__support.FPUtil.basic_operations
893     libc.src.__support.FPUtil.fp_bits
896 # FIXME: These tests are currently broken on the GPU.
897 if(NOT LIBC_TARGET_ARCHITECTURE_IS_GPU)
898   add_fp_unittest(
899     fminf_test
900     SUITE
901       libc-math-smoke-tests
902     SRCS
903       fminf_test.cpp
904     HDRS
905       FMinTest.h
906     DEPENDS
907       libc.include.math
908       libc.src.math.fminf
909       libc.src.__support.FPUtil.fp_bits
910   )
912   add_fp_unittest(
913     fmin_test
914     SUITE
915       libc-math-smoke-tests
916     SRCS
917       fmin_test.cpp
918     HDRS
919       FMinTest.h
920     DEPENDS
921       libc.include.math
922       libc.src.math.fmin
923       libc.src.__support.FPUtil.fp_bits
924   )
926   add_fp_unittest(
927     fminl_test
928     SUITE
929       libc-math-smoke-tests
930     SRCS
931       fminl_test.cpp
932     HDRS
933       FMinTest.h
934     DEPENDS
935       libc.include.math
936       libc.src.math.fminl
937       libc.src.__support.FPUtil.fp_bits
938   )
940   add_fp_unittest(
941     fmaxf_test
942     SUITE
943       libc-math-smoke-tests
944     SRCS
945       fmaxf_test.cpp
946     HDRS
947       FMaxTest.h
948     DEPENDS
949       libc.include.math
950       libc.src.math.fmaxf
951       libc.src.__support.FPUtil.fp_bits
952   )
954   add_fp_unittest(
955     fmax_test
956     SUITE
957       libc-math-smoke-tests
958     SRCS
959       fmax_test.cpp
960     HDRS
961       FMaxTest.h
962     DEPENDS
963       libc.include.math
964       libc.src.math.fmax
965       libc.src.__support.FPUtil.fp_bits
966   )
968   add_fp_unittest(
969     fmaxl_test
970     SUITE
971       libc-math-smoke-tests
972     SRCS
973       fmaxl_test.cpp
974     HDRS
975       FMaxTest.h
976     DEPENDS
977       libc.include.math
978       libc.src.math.fmaxl
979       libc.src.__support.FPUtil.fp_bits
980   )
981 endif()
983 add_fp_unittest(
984   sqrtf_test
985   SUITE
986     libc-math-smoke-tests
987   SRCS
988     sqrtf_test.cpp
989   DEPENDS
990     libc.include.math
991     libc.src.math.sqrtf
992     libc.src.__support.FPUtil.fp_bits
995 add_fp_unittest(
996   sqrt_test
997   SUITE
998     libc-math-smoke-tests
999   SRCS
1000     sqrt_test.cpp
1001   DEPENDS
1002     libc.include.math
1003     libc.src.math.sqrt
1004     libc.src.__support.FPUtil.fp_bits
1007 add_fp_unittest(
1008   sqrtl_test
1009   SUITE
1010     libc-math-smoke-tests
1011   SRCS
1012     sqrtl_test.cpp
1013   DEPENDS
1014     libc.include.math
1015     libc.src.math.sqrtl
1016     libc.src.__support.FPUtil.fp_bits
1019 add_fp_unittest(
1020   generic_sqrtf_test
1021   SUITE
1022     libc-math-smoke-tests
1023   SRCS
1024     generic_sqrtf_test.cpp
1025   DEPENDS
1026     libc.src.math.sqrtf
1027     libc.src.__support.FPUtil.fp_bits
1028     libc.src.__support.FPUtil.generic.sqrt
1029   COMPILE_OPTIONS
1030     -O3
1033 add_fp_unittest(
1034   generic_sqrt_test
1035   SUITE
1036     libc-math-smoke-tests
1037   SRCS
1038     generic_sqrt_test.cpp
1039   DEPENDS
1040     libc.src.math.sqrt
1041     libc.src.__support.FPUtil.fp_bits
1042     libc.src.__support.FPUtil.generic.sqrt
1043   COMPILE_OPTIONS
1044     -O3
1047 add_fp_unittest(
1048   generic_sqrtl_test
1049   SUITE
1050     libc-math-smoke-tests
1051   SRCS
1052     generic_sqrtl_test.cpp
1053   DEPENDS
1054     libc.src.math.sqrtl
1055     libc.src.__support.FPUtil.fp_bits
1056     libc.src.__support.FPUtil.generic.sqrt
1057   COMPILE_OPTIONS
1058     -O3
1061 add_fp_unittest(
1062   remquof_test
1063   SUITE
1064     libc-math-smoke-tests
1065   SRCS
1066     remquof_test.cpp
1067   HDRS
1068     RemQuoTest.h
1069   DEPENDS
1070     libc.include.math
1071     libc.src.math.remquof
1072     libc.src.__support.FPUtil.basic_operations
1073     libc.src.__support.FPUtil.fp_bits
1076 add_fp_unittest(
1077   remquo_test
1078   SUITE
1079     libc-math-smoke-tests
1080   SRCS
1081     remquo_test.cpp
1082   HDRS
1083     RemQuoTest.h
1084   DEPENDS
1085     libc.include.math
1086     libc.src.math.remquo
1087     libc.src.__support.FPUtil.basic_operations
1088     libc.src.__support.FPUtil.fp_bits
1091 add_fp_unittest(
1092   remquol_test
1093   SUITE
1094     libc-math-smoke-tests
1095   SRCS
1096     remquol_test.cpp
1097   HDRS
1098     RemQuoTest.h
1099   DEPENDS
1100     libc.include.math
1101     libc.src.math.remquol
1102     libc.src.__support.FPUtil.basic_operations
1103     libc.src.__support.FPUtil.fp_bits
1106 add_fp_unittest(
1107   hypotf_test
1108   SUITE
1109     libc-math-smoke-tests
1110   SRCS
1111     hypotf_test.cpp
1112   DEPENDS
1113     libc.include.math
1114     libc.src.math.hypotf
1115     libc.src.__support.FPUtil.fp_bits
1118 add_fp_unittest(
1119   hypot_test
1120   SUITE
1121     libc-math-smoke-tests
1122   SRCS
1123     hypot_test.cpp
1124   DEPENDS
1125     libc.include.math
1126     libc.src.math.hypot
1127     libc.src.__support.FPUtil.fp_bits
1130 # FIXME: These tests are currently spurious for NVPTX.
1131 if(NOT LIBC_GPU_TARGET_ARCHITECTURE_IS_NVPTX)
1132   add_fp_unittest(
1133     nextafter_test
1134     SUITE
1135       libc-math-smoke-tests
1136     SRCS
1137       nextafter_test.cpp
1138     HDRS
1139       NextAfterTest.h
1140     DEPENDS
1141       libc.include.math
1142       libc.src.math.nextafter
1143       libc.src.__support.FPUtil.basic_operations
1144       libc.src.__support.FPUtil.fp_bits
1145   )
1147   add_fp_unittest(
1148     nextafterf_test
1149     SUITE
1150       libc-math-smoke-tests
1151     SRCS
1152       nextafterf_test.cpp
1153     HDRS
1154       NextAfterTest.h
1155     DEPENDS
1156       libc.include.math
1157       libc.src.math.nextafterf
1158       libc.src.__support.FPUtil.basic_operations
1159       libc.src.__support.FPUtil.fp_bits
1160   )
1161 endif()
1163 add_fp_unittest(
1164   nextafterl_test
1165   SUITE
1166     libc-math-smoke-tests
1167   SRCS
1168     nextafterl_test.cpp
1169   HDRS
1170     NextAfterTest.h
1171   DEPENDS
1172     libc.include.math
1173     libc.src.math.nextafterl
1174     libc.src.__support.FPUtil.basic_operations
1175     libc.src.__support.FPUtil.fp_bits
1178 # TODO(lntue): The current implementation of fputil::general::fma<float> is only
1179 # correctly rounded for the default rounding mode round-to-nearest tie-to-even.
1180 add_fp_unittest(
1181   fmaf_test
1182   SUITE
1183     libc-math-smoke-tests
1184   SRCS
1185     fmaf_test.cpp
1186   DEPENDS
1187     libc.include.math
1188     libc.src.math.fmaf
1189     libc.src.__support.FPUtil.fp_bits
1190   FLAGS
1191     FMA_OPT__ONLY
1194 add_fp_unittest(
1195   fma_test
1196   SUITE
1197     libc-math-smoke-tests
1198   SRCS
1199     fma_test.cpp
1200   DEPENDS
1201     libc.include.math
1202     libc.src.math.fma
1203     libc.src.__support.FPUtil.fp_bits
1206 add_fp_unittest(
1207   expm1f_test
1208   SUITE
1209     libc-math-smoke-tests
1210   SRCS
1211     expm1f_test.cpp
1212   DEPENDS
1213     libc.src.errno.errno
1214     libc.include.math
1215     libc.src.math.expm1f
1216     libc.src.__support.FPUtil.fp_bits
1219 add_fp_unittest(
1220   expm1_test
1221   SUITE
1222     libc-math-smoke-tests
1223   SRCS
1224     expm1_test.cpp
1225   DEPENDS
1226     libc.src.errno.errno
1227     libc.include.math
1228     libc.src.math.expm1
1229     libc.src.__support.FPUtil.fp_bits
1232 add_fp_unittest(
1233   log_test
1234   SUITE
1235     libc-math-smoke-tests
1236   SRCS
1237     log_test.cpp
1238   DEPENDS
1239     libc.src.errno.errno
1240     libc.include.math
1241     libc.src.math.log
1242     libc.src.__support.FPUtil.fp_bits
1245 add_fp_unittest(
1246   logf_test
1247   SUITE
1248     libc-math-smoke-tests
1249   SRCS
1250     logf_test.cpp
1251   DEPENDS
1252     libc.src.errno.errno
1253     libc.include.math
1254     libc.src.math.logf
1255     libc.src.__support.FPUtil.fp_bits
1258 add_fp_unittest(
1259   log2_test
1260   SUITE
1261     libc-math-smoke-tests
1262   SRCS
1263     log2_test.cpp
1264   DEPENDS
1265     libc.src.errno.errno
1266     libc.include.math
1267     libc.src.math.log2
1268     libc.src.__support.FPUtil.fp_bits
1271 add_fp_unittest(
1272   log2f_test
1273   SUITE
1274     libc-math-smoke-tests
1275   SRCS
1276     log2f_test.cpp
1277   DEPENDS
1278     libc.src.errno.errno
1279     libc.include.math
1280     libc.src.math.log2f
1281     libc.src.__support.FPUtil.fp_bits
1284 add_fp_unittest(
1285   log10_test
1286   SUITE
1287     libc-math-smoke-tests
1288   SRCS
1289     log10_test.cpp
1290   DEPENDS
1291     libc.src.errno.errno
1292     libc.include.math
1293     libc.src.math.log10
1294     libc.src.__support.FPUtil.fp_bits
1297 add_fp_unittest(
1298   log10f_test
1299   SUITE
1300     libc-math-smoke-tests
1301   SRCS
1302     log10f_test.cpp
1303   DEPENDS
1304     libc.src.errno.errno
1305     libc.include.math
1306     libc.src.math.log10f
1307     libc.src.__support.FPUtil.fp_bits
1310 add_fp_unittest(
1311   log1p_test
1312   SUITE
1313     libc-math-smoke-tests
1314   SRCS
1315     log1p_test.cpp
1316   DEPENDS
1317     libc.src.errno.errno
1318     libc.include.math
1319     libc.src.math.log1p
1320     libc.src.__support.FPUtil.fp_bits
1323 add_fp_unittest(
1324   log1pf_test
1325   SUITE
1326     libc-math-smoke-tests
1327   SRCS
1328     log1pf_test.cpp
1329   DEPENDS
1330     libc.src.errno.errno
1331     libc.include.math
1332     libc.src.math.log1pf
1333     libc.src.__support.FPUtil.fp_bits
1336 add_fp_unittest(
1337   fmodf_test
1338   SUITE
1339     libc-math-smoke-tests
1340   SRCS
1341     fmodf_test.cpp
1342   HDRS
1343     FModTest.h
1344   DEPENDS
1345     libc.include.math
1346     libc.src.errno.errno
1347     libc.src.math.fmodf
1348     libc.src.__support.FPUtil.basic_operations
1349     libc.src.__support.FPUtil.nearest_integer_operations
1350   # Requires C++ limits.
1351   UNIT_TEST_ONLY
1354 add_fp_unittest(
1355   fmod_test
1356   SUITE
1357     libc-math-smoke-tests
1358   SRCS
1359     fmod_test.cpp
1360   HDRS
1361     FModTest.h
1362   DEPENDS
1363     libc.include.math
1364     libc.src.errno.errno
1365     libc.src.math.fmod
1366     libc.src.__support.FPUtil.basic_operations
1367     libc.src.__support.FPUtil.nearest_integer_operations
1368   # Requires C++ limits.
1369   UNIT_TEST_ONLY
1372 add_fp_unittest(
1373   coshf_test
1374   SUITE
1375     libc-math-smoke-tests
1376   SRCS
1377     coshf_test.cpp
1378   DEPENDS
1379     libc.src.errno.errno
1380     libc.src.math.coshf
1381     libc.src.__support.CPP.array
1382     libc.src.__support.FPUtil.fp_bits
1385 add_fp_unittest(
1386   sinhf_test
1387   SUITE
1388     libc-math-smoke-tests
1389   SRCS
1390     sinhf_test.cpp
1391   DEPENDS
1392     libc.src.errno.errno
1393     libc.src.math.sinhf
1394     libc.src.__support.CPP.array
1395     libc.src.__support.FPUtil.fp_bits
1398 add_fp_unittest(
1399   tanhf_test
1400   SUITE
1401     libc-math-smoke-tests
1402   SRCS
1403     tanhf_test.cpp
1404   DEPENDS
1405     libc.src.math.tanhf
1406     libc.src.__support.FPUtil.fp_bits
1409 add_fp_unittest(
1410   atanhf_test
1411   SUITE
1412     libc-math-smoke-tests
1413   SRCS
1414     atanhf_test.cpp
1415   DEPENDS
1416     libc.src.errno.errno
1417     libc.src.math.atanhf
1418     libc.src.__support.FPUtil.fp_bits
1421 add_fp_unittest(
1422   asinhf_test
1423   SUITE
1424     libc-math-smoke-tests
1425   SRCS
1426     asinhf_test.cpp
1427   DEPENDS
1428     libc.src.errno.errno
1429     libc.src.math.asinhf
1430     libc.src.__support.FPUtil.fp_bits
1433 add_fp_unittest(
1434   acoshf_test
1435   SUITE
1436     libc-math-smoke-tests
1437   SRCS
1438     acoshf_test.cpp
1439   DEPENDS
1440     libc.src.errno.errno
1441     libc.src.math.acoshf
1442     libc.src.__support.FPUtil.fp_bits
1445 add_fp_unittest(
1446   asinf_test
1447   SUITE
1448     libc-math-smoke-tests
1449   SRCS
1450     asinf_test.cpp
1451   DEPENDS
1452     libc.src.errno.errno
1453     libc.src.math.asinf
1454     libc.src.__support.FPUtil.fp_bits
1457 add_fp_unittest(
1458   acosf_test
1459   SUITE
1460     libc-math-smoke-tests
1461   SRCS
1462     acosf_test.cpp
1463   DEPENDS
1464     libc.src.errno.errno
1465     libc.src.math.acosf
1466     libc.src.__support.FPUtil.fp_bits
1469 add_fp_unittest(
1470   atanf_test
1471   SUITE
1472     libc-math-smoke-tests
1473   SRCS
1474     atanf_test.cpp
1475   DEPENDS
1476     libc.src.errno.errno
1477     libc.src.math.atanf
1478     libc.src.__support.FPUtil.fp_bits
1481 add_fp_unittest(
1482   scalbn_test
1483   SUITE
1484     libc-math-smoke-tests
1485   SRCS
1486     scalbn_test.cpp
1487   HDRS
1488     ScalbnTest.h
1489   DEPENDS
1490     libc.include.math
1491     libc.src.math.scalbn
1492     libc.src.__support.FPUtil.fp_bits
1493     libc.src.__support.FPUtil.normal_float
1496 add_fp_unittest(
1497   scalbnf_test
1498   SUITE
1499     libc-math-smoke-tests
1500   SRCS
1501     scalbnf_test.cpp
1502   HDRS
1503     ScalbnTest.h
1504   DEPENDS
1505     libc.include.math
1506     libc.src.math.scalbnf
1507     libc.src.__support.FPUtil.fp_bits
1508     libc.src.__support.FPUtil.normal_float
1511 add_fp_unittest(
1512   scalbnl_test
1513   SUITE
1514     libc-math-smoke-tests
1515   SRCS
1516     scalbnl_test.cpp
1517   HDRS
1518     ScalbnTest.h
1519   DEPENDS
1520     libc.include.math
1521     libc.src.math.scalbnl
1522     libc.src.__support.FPUtil.fp_bits
1523     libc.src.__support.FPUtil.normal_float
1526 add_fp_unittest(
1527   erff_test
1528   SUITE
1529     libc-math-smoke-tests
1530   SRCS
1531     erff_test.cpp
1532   DEPENDS
1533     libc.include.math
1534     libc.src.math.erff
1535     libc.src.__support.FPUtil.fp_bits
1538 add_fp_unittest(
1539   powf_test
1540   SUITE
1541     libc-math-smoke-tests
1542   SRCS
1543     powf_test.cpp
1544   DEPENDS
1545     libc.include.math
1546     libc.src.math.powf
1547     libc.src.__support.FPUtil.fp_bits