1d856e5feSGuillaume Chatelet# This file is licensed under the Apache License v2.0 with LLVM Exceptions. 2d856e5feSGuillaume Chatelet# See https://llvm.org/LICENSE.txt for license information. 3d856e5feSGuillaume Chatelet# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 4d856e5feSGuillaume Chatelet 5d856e5feSGuillaume Chatelet# Tests for LLVM libc math.h functions. 6d856e5feSGuillaume Chatelet 727737194Slntueload("//libc/test/src/math:libc_math_test_rules.bzl", "math_mpfr_test") 8d856e5feSGuillaume Chatelet 9d856e5feSGuillaume Chateletpackage(default_visibility = ["//visibility:public"]) 10d856e5feSGuillaume Chatelet 11*33f1235bSMikhail Goncharovexports_files(["libc_math_test_rules.bzl"]) 12df82394eSTue Ly 13d856e5feSGuillaume Chateletlicenses(["notice"]) 14d856e5feSGuillaume Chatelet 1527737194Slntuemath_mpfr_test(name = "acosf") 16d856e5feSGuillaume Chatelet 1727737194Slntuemath_mpfr_test(name = "acoshf") 18d856e5feSGuillaume Chatelet 1927737194Slntuemath_mpfr_test(name = "asinf") 20d856e5feSGuillaume Chatelet 2127737194Slntuemath_mpfr_test(name = "asinhf") 2227737194Slntue 2327737194Slntuemath_mpfr_test(name = "atan2") 2427737194Slntue 2527737194Slntuemath_mpfr_test(name = "atan2f") 2627737194Slntue 2727737194Slntuemath_mpfr_test(name = "atanf") 2827737194Slntue 2927737194Slntuemath_mpfr_test(name = "atanhf") 3027737194Slntue 3127737194Slntuemath_mpfr_test(name = "cbrt") 3227737194Slntue 3327737194Slntuemath_mpfr_test(name = "cbrtf") 3427737194Slntue 3527737194Slntuemath_mpfr_test( 36d856e5feSGuillaume Chatelet name = "ceil", 37d856e5feSGuillaume Chatelet hdrs = ["CeilTest.h"], 38d856e5feSGuillaume Chatelet) 39d856e5feSGuillaume Chatelet 4027737194Slntuemath_mpfr_test( 41d856e5feSGuillaume Chatelet name = "ceilf", 42d856e5feSGuillaume Chatelet hdrs = ["CeilTest.h"], 43d856e5feSGuillaume Chatelet) 44d856e5feSGuillaume Chatelet 4527737194Slntuemath_mpfr_test( 46d856e5feSGuillaume Chatelet name = "ceill", 47d856e5feSGuillaume Chatelet hdrs = ["CeilTest.h"], 48d856e5feSGuillaume Chatelet) 49d856e5feSGuillaume Chatelet 5027737194Slntuemath_mpfr_test(name = "cos") 51d856e5feSGuillaume Chatelet 5227737194Slntuemath_mpfr_test( 53d856e5feSGuillaume Chatelet name = "cosf", 5427737194Slntue hdrs = ["sdcomp26094.h"], 557a8e9dfeSJordan Rupprecht deps = [ 567a8e9dfeSJordan Rupprecht "//libc:__support_cpp_array", 577a8e9dfeSJordan Rupprecht ], 58d856e5feSGuillaume Chatelet) 59d856e5feSGuillaume Chatelet 6027737194Slntuemath_mpfr_test( 611ad8d9d6STue Ly name = "coshf", 621ad8d9d6STue Ly deps = [ 639c3ee999SFangrui Song "//libc:__support_cpp_array", 649c3ee999SFangrui Song ], 651ad8d9d6STue Ly) 661ad8d9d6STue Ly 6727737194Slntuemath_mpfr_test( 684132ab84SHaojian Wu name = "cospif", 6927737194Slntue hdrs = ["sdcomp26094.h"], 707a8e9dfeSJordan Rupprecht deps = [ 717a8e9dfeSJordan Rupprecht "//libc:__support_cpp_array", 727a8e9dfeSJordan Rupprecht ], 7327737194Slntue) 7427737194Slntue 7527737194Slntuemath_mpfr_test( 7627737194Slntue name = "daddl", 7727737194Slntue hdrs = ["AddTest.h"], 7827737194Slntue) 7927737194Slntue 8027737194Slntuemath_mpfr_test( 8127737194Slntue name = "ddivl", 8227737194Slntue hdrs = ["DivTest.h"], 8327737194Slntue) 8427737194Slntue 8527737194Slntue# TODO: Add dfmal, dmull test. Missing stdlib/rand dependency. 8627737194Slntue 8727737194Slntuemath_mpfr_test( 8827737194Slntue name = "dsqrtl", 8927737194Slntue hdrs = ["SqrtTest.h"], 9027737194Slntue) 9127737194Slntue 9227737194Slntuemath_mpfr_test( 9327737194Slntue name = "dsubl", 9427737194Slntue hdrs = ["SubTest.h"], 9527737194Slntue) 9627737194Slntue 9727737194Slntuemath_mpfr_test(name = "erff") 9827737194Slntue 9927737194Slntuemath_mpfr_test(name = "exp") 10027737194Slntue 10127737194Slntuemath_mpfr_test(name = "expf") 10227737194Slntue 10327737194Slntuemath_mpfr_test(name = "exp10") 10427737194Slntue 10527737194Slntuemath_mpfr_test(name = "exp10f") 10627737194Slntue 10727737194Slntuemath_mpfr_test(name = "exp2") 10827737194Slntue 10927737194Slntuemath_mpfr_test(name = "exp2f") 11027737194Slntue 11127737194Slntuemath_mpfr_test( 11227737194Slntue name = "exp2m1f", 1134132ab84SHaojian Wu deps = [ 1144132ab84SHaojian Wu "//libc:__support_cpp_array", 1157a8e9dfeSJordan Rupprecht ], 1164132ab84SHaojian Wu) 1174132ab84SHaojian Wu 11827737194Slntuemath_mpfr_test(name = "expm1") 11927737194Slntue 12027737194Slntuemath_mpfr_test(name = "expm1f") 12127737194Slntue 12227737194Slntuemath_mpfr_test( 12327737194Slntue name = "fabs", 12427737194Slntue hdrs = ["FAbsTest.h"], 1251ad8d9d6STue Ly) 1261ad8d9d6STue Ly 12727737194Slntuemath_mpfr_test( 12827737194Slntue name = "fabsf", 12927737194Slntue hdrs = ["FAbsTest.h"], 1301ad8d9d6STue Ly) 1311ad8d9d6STue Ly 13227737194Slntuemath_mpfr_test( 13327737194Slntue name = "fabsl", 13427737194Slntue hdrs = ["FAbsTest.h"], 1351ad8d9d6STue Ly) 1361ad8d9d6STue Ly 13727737194Slntuemath_mpfr_test( 13827737194Slntue name = "fadd", 13927737194Slntue hdrs = ["AddTest.h"], 1401ad8d9d6STue Ly) 1411ad8d9d6STue Ly 14227737194Slntuemath_mpfr_test( 14327737194Slntue name = "faddl", 14427737194Slntue hdrs = ["AddTest.h"], 1451ad8d9d6STue Ly) 1461ad8d9d6STue Ly 14727737194Slntuemath_mpfr_test( 14827737194Slntue name = "fdiv", 14927737194Slntue hdrs = ["DivTest.h"], 1501ad8d9d6STue Ly) 1511ad8d9d6STue Ly 15227737194Slntuemath_mpfr_test( 15327737194Slntue name = "fdivl", 15427737194Slntue hdrs = ["DivTest.h"], 1551ad8d9d6STue Ly) 156aaf758c4SSiva Chandra Reddy 15727737194Slntue# TODO: Add ffma, ffmal test. Missing stdlib/rand dependency. 15827737194Slntue 15927737194Slntuemath_mpfr_test( 16027737194Slntue name = "floor", 16127737194Slntue hdrs = ["FloorTest.h"], 162eee564f2STue Ly) 163eee564f2STue Ly 16427737194Slntuemath_mpfr_test( 16527737194Slntue name = "floorf", 16627737194Slntue hdrs = ["FloorTest.h"], 167eee564f2STue Ly) 168eee564f2STue Ly 16927737194Slntuemath_mpfr_test( 17027737194Slntue name = "floorl", 17127737194Slntue hdrs = ["FloorTest.h"], 172eee564f2STue Ly) 173eee564f2STue Ly 17427737194Slntue# TODO: Add fma, fmaf, fmal, fmul, fmull tests. Missing stdlib/rand dependency. 17527737194Slntue 17627737194Slntuemath_mpfr_test( 17727737194Slntue name = "frexp", 17827737194Slntue hdrs = ["FrexpTest.h"], 17976bb278eSTue Ly) 18076bb278eSTue Ly 18127737194Slntuemath_mpfr_test( 18227737194Slntue name = "frexpf", 18327737194Slntue hdrs = ["FrexpTest.h"], 184a0303d89Slntue) 185a0303d89Slntue 18627737194Slntuemath_mpfr_test( 18727737194Slntue name = "frexpl", 18827737194Slntue hdrs = ["FrexpTest.h"], 189aaf758c4SSiva Chandra Reddy) 190aaf758c4SSiva Chandra Reddy 19127737194Slntuemath_mpfr_test( 19227737194Slntue name = "fsqrt", 19327737194Slntue hdrs = ["SqrtTest.h"], 194aaf758c4SSiva Chandra Reddy) 195aaf758c4SSiva Chandra Reddy 19627737194Slntuemath_mpfr_test( 19727737194Slntue name = "fsqrtl", 19827737194Slntue hdrs = ["SqrtTest.h"], 19927737194Slntue) 20027737194Slntue 20127737194Slntuemath_mpfr_test( 20227737194Slntue name = "fsub", 20327737194Slntue hdrs = ["SubTest.h"], 20427737194Slntue) 20527737194Slntue 20627737194Slntuemath_mpfr_test( 20727737194Slntue name = "fsubl", 20827737194Slntue hdrs = ["SubTest.h"], 20927737194Slntue) 21027737194Slntue 21127737194Slntuemath_mpfr_test( 21227737194Slntue name = "hypot", 21327737194Slntue hdrs = ["HypotTest.h"], 21427737194Slntue) 21527737194Slntue 21627737194Slntuemath_mpfr_test( 21727737194Slntue name = "hypotf", 218aaf758c4SSiva Chandra Reddy hdrs = [ 21927737194Slntue "HypotTest.h", 2207a8e9dfeSJordan Rupprecht "hypotf_hard_to_round.h", 221aaf758c4SSiva Chandra Reddy ], 222aaf758c4SSiva Chandra Reddy) 223aaf758c4SSiva Chandra Reddy 22427737194Slntuemath_mpfr_test( 22527737194Slntue name = "llrint", 22627737194Slntue hdrs = ["RoundToIntegerTest.h"], 227aaf758c4SSiva Chandra Reddy) 228aaf758c4SSiva Chandra Reddy 22927737194Slntuemath_mpfr_test( 23027737194Slntue name = "llrintf", 23127737194Slntue hdrs = ["RoundToIntegerTest.h"], 23227737194Slntue) 23327737194Slntue 23427737194Slntuemath_mpfr_test( 23527737194Slntue name = "llrintl", 23627737194Slntue hdrs = ["RoundToIntegerTest.h"], 23727737194Slntue) 23827737194Slntue 23927737194Slntuemath_mpfr_test( 24027737194Slntue name = "llround", 24127737194Slntue hdrs = ["RoundToIntegerTest.h"], 24227737194Slntue) 24327737194Slntue 24427737194Slntuemath_mpfr_test( 24527737194Slntue name = "llroundf", 24627737194Slntue hdrs = ["RoundToIntegerTest.h"], 24727737194Slntue) 24827737194Slntue 24927737194Slntuemath_mpfr_test( 25027737194Slntue name = "llroundl", 25127737194Slntue hdrs = ["RoundToIntegerTest.h"], 25227737194Slntue) 25327737194Slntue 25427737194Slntuemath_mpfr_test(name = "log") 25527737194Slntue 25627737194Slntuemath_mpfr_test(name = "logf") 25727737194Slntue 25827737194Slntuemath_mpfr_test(name = "log10") 25927737194Slntue 26027737194Slntuemath_mpfr_test(name = "log10f") 26127737194Slntue 26227737194Slntuemath_mpfr_test(name = "log1p") 26327737194Slntue 26427737194Slntuemath_mpfr_test(name = "log1pf") 26527737194Slntue 26627737194Slntuemath_mpfr_test(name = "log2") 26727737194Slntue 26827737194Slntuemath_mpfr_test(name = "log2f") 26927737194Slntue 27027737194Slntuemath_mpfr_test( 27127737194Slntue name = "lrint", 27227737194Slntue hdrs = ["RoundToIntegerTest.h"], 27327737194Slntue) 27427737194Slntue 27527737194Slntuemath_mpfr_test( 27627737194Slntue name = "lrintf", 27727737194Slntue hdrs = ["RoundToIntegerTest.h"], 27827737194Slntue) 27927737194Slntue 28027737194Slntuemath_mpfr_test( 28127737194Slntue name = "lrintl", 28227737194Slntue hdrs = ["RoundToIntegerTest.h"], 28327737194Slntue) 28427737194Slntue 28527737194Slntuemath_mpfr_test( 28627737194Slntue name = "lround", 28727737194Slntue hdrs = ["RoundToIntegerTest.h"], 28827737194Slntue) 28927737194Slntue 29027737194Slntuemath_mpfr_test( 29127737194Slntue name = "lroundf", 29227737194Slntue hdrs = ["RoundToIntegerTest.h"], 29327737194Slntue) 29427737194Slntue 29527737194Slntuemath_mpfr_test( 29627737194Slntue name = "lroundl", 29727737194Slntue hdrs = ["RoundToIntegerTest.h"], 29827737194Slntue) 29927737194Slntue 30027737194Slntue# TODO: add nan tests. 30127737194Slntue 30227737194Slntuemath_mpfr_test( 30327737194Slntue name = "nearbyint", 30427737194Slntue hdrs = ["NearbyIntTest.h"], 3057a8e9dfeSJordan Rupprecht deps = [ 3067a8e9dfeSJordan Rupprecht "//libc:__support_cpp_array", 3077a8e9dfeSJordan Rupprecht ], 30827737194Slntue) 30927737194Slntue 31027737194Slntuemath_mpfr_test( 31127737194Slntue name = "nearbyintf", 31227737194Slntue hdrs = ["NearbyIntTest.h"], 3137a8e9dfeSJordan Rupprecht deps = [ 3147a8e9dfeSJordan Rupprecht "//libc:__support_cpp_array", 3157a8e9dfeSJordan Rupprecht ], 31627737194Slntue) 31727737194Slntue 31827737194Slntuemath_mpfr_test( 31927737194Slntue name = "nearbyintl", 32027737194Slntue hdrs = ["NearbyIntTest.h"], 3217a8e9dfeSJordan Rupprecht deps = [ 3227a8e9dfeSJordan Rupprecht "//libc:__support_cpp_array", 3237a8e9dfeSJordan Rupprecht ], 32427737194Slntue) 32527737194Slntue 32627737194Slntuemath_mpfr_test(name = "pow") 32727737194Slntue 32827737194Slntuemath_mpfr_test(name = "powf") 32927737194Slntue 33027737194Slntuemath_mpfr_test( 33127737194Slntue name = "remquo", 33227737194Slntue hdrs = ["RemQuoTest.h"], 33327737194Slntue) 33427737194Slntue 33527737194Slntuemath_mpfr_test( 33627737194Slntue name = "remquof", 33727737194Slntue hdrs = ["RemQuoTest.h"], 33827737194Slntue) 33927737194Slntue 34027737194Slntuemath_mpfr_test( 34127737194Slntue name = "remquol", 34227737194Slntue hdrs = ["RemQuoTest.h"], 34327737194Slntue) 34427737194Slntue 34527737194Slntuemath_mpfr_test( 34627737194Slntue name = "rint", 34727737194Slntue hdrs = ["RIntTest.h"], 34827737194Slntue) 34927737194Slntue 35027737194Slntuemath_mpfr_test( 35127737194Slntue name = "rintf", 35227737194Slntue hdrs = ["RIntTest.h"], 35327737194Slntue) 35427737194Slntue 35527737194Slntuemath_mpfr_test( 35627737194Slntue name = "rintl", 35727737194Slntue hdrs = ["RIntTest.h"], 35827737194Slntue) 35927737194Slntue 36027737194Slntuemath_mpfr_test( 36127737194Slntue name = "roundeven", 36227737194Slntue hdrs = ["RoundEvenTest.h"], 36327737194Slntue) 36427737194Slntue 36527737194Slntuemath_mpfr_test( 36627737194Slntue name = "roundevenf", 36727737194Slntue hdrs = ["RoundEvenTest.h"], 36827737194Slntue) 36927737194Slntue 37027737194Slntuemath_mpfr_test( 37127737194Slntue name = "roundevenl", 37227737194Slntue hdrs = ["RoundEvenTest.h"], 37327737194Slntue) 37427737194Slntue 37527737194Slntuemath_mpfr_test( 37627737194Slntue name = "round", 37727737194Slntue hdrs = ["RoundTest.h"], 37827737194Slntue) 37927737194Slntue 38027737194Slntuemath_mpfr_test( 38127737194Slntue name = "roundf", 38227737194Slntue hdrs = ["RoundTest.h"], 38327737194Slntue) 38427737194Slntue 38527737194Slntuemath_mpfr_test( 38627737194Slntue name = "roundl", 38727737194Slntue hdrs = ["RoundTest.h"], 38827737194Slntue) 38927737194Slntue 39027737194Slntuemath_mpfr_test(name = "sin") 39127737194Slntue 39227737194Slntuemath_mpfr_test( 39327737194Slntue name = "sinf", 39427737194Slntue hdrs = ["sdcomp26094.h"], 3957a8e9dfeSJordan Rupprecht deps = [ 3967a8e9dfeSJordan Rupprecht "//libc:__support_cpp_array", 3977a8e9dfeSJordan Rupprecht ], 39827737194Slntue) 39927737194Slntue 40027737194Slntuemath_mpfr_test(name = "sincos") 40127737194Slntue 40227737194Slntuemath_mpfr_test( 40327737194Slntue name = "sincosf", 40427737194Slntue hdrs = ["sdcomp26094.h"], 4057a8e9dfeSJordan Rupprecht deps = [ 4067a8e9dfeSJordan Rupprecht "//libc:__support_cpp_array", 4077a8e9dfeSJordan Rupprecht ], 40827737194Slntue) 40927737194Slntue 41027737194Slntuemath_mpfr_test( 41127737194Slntue name = "sinhf", 41227737194Slntue deps = [ 41327737194Slntue "//libc:__support_cpp_array", 4147a8e9dfeSJordan Rupprecht ], 41527737194Slntue) 41627737194Slntue 41727737194Slntuemath_mpfr_test( 41827737194Slntue name = "sinpif", 41927737194Slntue hdrs = ["sdcomp26094.h"], 4207a8e9dfeSJordan Rupprecht deps = [ 4217a8e9dfeSJordan Rupprecht "//libc:__support_cpp_array", 4227a8e9dfeSJordan Rupprecht ], 42327737194Slntue) 42427737194Slntue 42527737194Slntuemath_mpfr_test( 42627737194Slntue name = "sqrt", 42727737194Slntue hdrs = ["SqrtTest.h"], 42827737194Slntue) 42927737194Slntue 43027737194Slntuemath_mpfr_test( 43127737194Slntue name = "sqrtf", 43227737194Slntue hdrs = ["SqrtTest.h"], 43327737194Slntue) 43427737194Slntue 43527737194Slntuemath_mpfr_test( 43627737194Slntue name = "sqrtl", 43727737194Slntue hdrs = ["SqrtTest.h"], 43827737194Slntue) 43927737194Slntue 44027737194Slntuemath_mpfr_test(name = "tan") 44127737194Slntue 44227737194Slntuemath_mpfr_test( 44327737194Slntue name = "tanf", 44427737194Slntue hdrs = ["sdcomp26094.h"], 4457a8e9dfeSJordan Rupprecht deps = [ 4467a8e9dfeSJordan Rupprecht "//libc:__support_cpp_array", 4477a8e9dfeSJordan Rupprecht ], 44827737194Slntue) 44927737194Slntue 45027737194Slntuemath_mpfr_test(name = "tanhf") 45127737194Slntue 45227737194Slntuemath_mpfr_test( 45327737194Slntue name = "trunc", 45427737194Slntue hdrs = ["TruncTest.h"], 45527737194Slntue) 45627737194Slntue 45727737194Slntuemath_mpfr_test( 45827737194Slntue name = "truncf", 45927737194Slntue hdrs = ["TruncTest.h"], 46027737194Slntue) 46127737194Slntue 46227737194Slntuemath_mpfr_test( 46327737194Slntue name = "truncl", 46427737194Slntue hdrs = ["TruncTest.h"], 465aaf758c4SSiva Chandra Reddy) 466