blob: 4f8f77e4cf03d4027f7547412adc61674d01001a [file] [log] [blame]
add_libc_testsuite(libc_math_unittests)
function(add_fp_unittest name)
cmake_parse_arguments(
"MATH_UNITTEST"
"NEED_MPFR" # No optional arguments
"" # Single value arguments
"" # Multi-value arguments
${ARGN}
)
if(MATH_UNITTEST_NEED_MPFR)
if(NOT LIBC_TESTS_CAN_USE_MPFR)
message("WARNING: Math test ${name} will be skipped as MPFR library is not available.")
return()
endif()
endif()
add_libc_unittest(${name} ${MATH_UNITTEST_UNPARSED_ARGUMENTS})
get_fq_target_name(${name} fq_target_name)
if(MATH_UNITTEST_NEED_MPFR)
target_link_libraries(${fq_target_name} PRIVATE libcMPFRWrapper -lmpfr -lgmp)
endif()
target_link_libraries(${fq_target_name} PRIVATE LibcFPTestHelpers)
endfunction(add_fp_unittest)
add_fp_unittest(
cosf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
cosf_test.cpp
HDRS
sdcomp26094.h
DEPENDS
libc.include.errno
libc.src.math.cosf
libc.utils.CPP.standalone_cpp
libc.utils.FPUtil.fputil
)
add_fp_unittest(
sinf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
sinf_test.cpp
HDRS
sdcomp26094.h
DEPENDS
libc.include.errno
libc.src.math.sinf
libc.utils.CPP.standalone_cpp
libc.utils.FPUtil.fputil
)
add_fp_unittest(
sincosf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
sincosf_test.cpp
HDRS
sdcomp26094.h
DEPENDS
libc.include.errno
libc.src.math.sincosf
libc.utils.CPP.standalone_cpp
libc.utils.FPUtil.fputil
)
add_fp_unittest(
fabs_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
fabs_test.cpp
DEPENDS
libc.include.math
libc.src.math.fabs
libc.utils.FPUtil.fputil
)
add_fp_unittest(
fabsf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
fabsf_test.cpp
DEPENDS
libc.include.math
libc.src.math.fabsf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
fabsl_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
fabsl_test.cpp
DEPENDS
libc.include.math
libc.src.math.fabsl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
trunc_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
trunc_test.cpp
DEPENDS
libc.include.math
libc.src.math.trunc
libc.utils.FPUtil.fputil
)
add_fp_unittest(
truncf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
truncf_test.cpp
DEPENDS
libc.include.math
libc.src.math.truncf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
truncl_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
truncl_test.cpp
DEPENDS
libc.include.math
libc.src.math.truncl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
ceil_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
ceil_test.cpp
DEPENDS
libc.include.math
libc.src.math.ceil
libc.utils.FPUtil.fputil
)
add_fp_unittest(
ceilf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
ceilf_test.cpp
DEPENDS
libc.include.math
libc.src.math.ceilf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
ceill_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
ceill_test.cpp
DEPENDS
libc.include.math
libc.src.math.ceill
libc.utils.FPUtil.fputil
)
add_fp_unittest(
floor_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
floor_test.cpp
DEPENDS
libc.include.math
libc.src.math.floor
libc.utils.FPUtil.fputil
)
add_fp_unittest(
floorf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
floorf_test.cpp
DEPENDS
libc.include.math
libc.src.math.floorf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
floorl_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
floorl_test.cpp
DEPENDS
libc.include.math
libc.src.math.floorl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
round_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
round_test.cpp
DEPENDS
libc.include.math
libc.src.math.round
libc.utils.FPUtil.fputil
)
add_fp_unittest(
roundf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
roundf_test.cpp
DEPENDS
libc.include.math
libc.src.math.roundf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
roundl_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
roundl_test.cpp
DEPENDS
libc.include.math
libc.src.math.roundl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
expf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
expf_test.cpp
DEPENDS
libc.include.errno
libc.include.math
libc.src.math.expf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
exp2f_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
exp2f_test.cpp
DEPENDS
libc.include.errno
libc.include.math
libc.src.math.exp2f
libc.utils.FPUtil.fputil
)
add_fp_unittest(
copysign_test
SUITE
libc_math_unittests
SRCS
copysign_test.cpp
DEPENDS
libc.include.math
libc.src.math.copysign
libc.utils.FPUtil.fputil
)
add_fp_unittest(
copysignf_test
SUITE
libc_math_unittests
SRCS
copysignf_test.cpp
DEPENDS
libc.include.math
libc.src.math.copysignf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
copysignl_test
SUITE
libc_math_unittests
SRCS
copysignl_test.cpp
DEPENDS
libc.include.math
libc.src.math.copysignl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
frexp_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
frexp_test.cpp
DEPENDS
libc.include.math
libc.src.math.frexp
libc.utils.FPUtil.fputil
)
add_fp_unittest(
frexpf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
frexpf_test.cpp
DEPENDS
libc.include.math
libc.src.math.frexpf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
frexpl_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
frexpl_test.cpp
DEPENDS
libc.include.math
libc.src.math.frexpl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
ilogb_test
SUITE
libc_math_unittests
SRCS
ilogb_test.cpp
HDRS
ILogbTest.h
DEPENDS
libc.include.math
libc.src.math.ilogb
libc.utils.FPUtil.fputil
)
add_fp_unittest(
ilogbf_test
SUITE
libc_math_unittests
SRCS
ilogbf_test.cpp
HDRS
ILogbTest.h
DEPENDS
libc.include.math
libc.src.math.ilogbf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
ilogbl_test
SUITE
libc_math_unittests
SRCS
ilogbl_test.cpp
HDRS
ILogbTest.h
DEPENDS
libc.include.math
libc.src.math.ilogbl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
logb_test
SUITE
libc_math_unittests
SRCS
logb_test.cpp
DEPENDS
libc.include.math
libc.src.math.logb
libc.utils.FPUtil.fputil
)
add_fp_unittest(
logbf_test
SUITE
libc_math_unittests
SRCS
logbf_test.cpp
DEPENDS
libc.include.math
libc.src.math.logbf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
logbl_test
SUITE
libc_math_unittests
SRCS
logbl_test.cpp
DEPENDS
libc.include.math
libc.src.math.logbl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
modf_test
SUITE
libc_math_unittests
SRCS
modf_test.cpp
DEPENDS
libc.include.math
libc.src.math.modf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
modff_test
SUITE
libc_math_unittests
SRCS
modff_test.cpp
DEPENDS
libc.include.math
libc.src.math.modff
libc.utils.FPUtil.fputil
)
add_fp_unittest(
modfl_test
SUITE
libc_math_unittests
SRCS
modfl_test.cpp
DEPENDS
libc.include.math
libc.src.math.modfl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
fminf_test
SUITE
libc_math_unittests
SRCS
fminf_test.cpp
DEPENDS
libc.include.math
libc.src.math.fminf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
fmin_test
SUITE
libc_math_unittests
SRCS
fmin_test.cpp
DEPENDS
libc.include.math
libc.src.math.fmin
libc.utils.FPUtil.fputil
)
add_fp_unittest(
fminl_test
SUITE
libc_math_unittests
SRCS
fminl_test.cpp
DEPENDS
libc.include.math
libc.src.math.fminl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
fmaxf_test
SUITE
libc_math_unittests
SRCS
fmaxf_test.cpp
DEPENDS
libc.include.math
libc.src.math.fmaxf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
fmax_test
SUITE
libc_math_unittests
SRCS
fmax_test.cpp
DEPENDS
libc.include.math
libc.src.math.fmax
libc.utils.FPUtil.fputil
)
add_fp_unittest(
fmaxl_test
SUITE
libc_math_unittests
SRCS
fmaxl_test.cpp
DEPENDS
libc.include.math
libc.src.math.fmaxl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
sqrtf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
sqrtf_test.cpp
DEPENDS
libc.include.math
libc.src.math.sqrtf
libc.utils.FPUtil.fputil
)
add_fp_unittest(
sqrt_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
sqrt_test.cpp
DEPENDS
libc.include.math
libc.src.math.sqrt
libc.utils.FPUtil.fputil
)
add_fp_unittest(
sqrtl_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
sqrtl_test.cpp
DEPENDS
libc.include.math
libc.src.math.sqrtl
libc.utils.FPUtil.fputil
)
add_fp_unittest(
remquof_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
remquof_test.cpp
DEPENDS
libc.include.math
libc.src.math.remquof
libc.utils.FPUtil.fputil
)
add_fp_unittest(
remquo_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
remquo_test.cpp
DEPENDS
libc.include.math
libc.src.math.remquo
libc.utils.FPUtil.fputil
)
add_fp_unittest(
remquol_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
remquol_test.cpp
DEPENDS
libc.include.math
libc.src.math.remquol
libc.utils.FPUtil.fputil
)
add_fp_unittest(
hypotf_test
NEED_MPFR
SUITE
libc_math_unittests
SRCS
hypotf_test.cpp
DEPENDS
libc.include.math
libc.src.math.hypotf
libc.utils.FPUtil.fputil
)