1d4128046STue Ly //===-- Unittests for fdimf -----------------------------------------------===//
2d4128046STue Ly //
3d4128046STue Ly // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4d4128046STue Ly // See https://llvm.org/LICENSE.txt for license information.
5d4128046STue Ly // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6d4128046STue Ly //
7d4128046STue Ly //===----------------------------------------------------------------------===//
8d4128046STue Ly 
9d4128046STue Ly #include "FDimTest.h"
10d4128046STue Ly 
11c120edc7SMichael Jones #include "src/__support/FPUtil/FPBits.h"
12d4128046STue Ly #include "src/math/fdimf.h"
136c3f53c7SSiva Chandra Reddy #include "utils/UnitTest/FPMatcher.h"
14d4128046STue Ly #include "utils/UnitTest/Test.h"
153e18fb33SMichael Jones #include <math.h>
16d4128046STue Ly 
171df0dbfcSMichael Jones using LlvmLibcFDimTest = FDimTestTemplate<float>;
18d4128046STue Ly 
TEST_F(LlvmLibcFDimTest,NaNArg_fdimf)19*25226f3eSMichael Jones TEST_F(LlvmLibcFDimTest, NaNArg_fdimf) { test_na_n_arg(&__llvm_libc::fdimf); }
20d4128046STue Ly 
TEST_F(LlvmLibcFDimTest,InfArg_fdimf)21*25226f3eSMichael Jones TEST_F(LlvmLibcFDimTest, InfArg_fdimf) { test_inf_arg(&__llvm_libc::fdimf); }
22d4128046STue Ly 
TEST_F(LlvmLibcFDimTest,NegInfArg_fdimf)231df0dbfcSMichael Jones TEST_F(LlvmLibcFDimTest, NegInfArg_fdimf) {
24*25226f3eSMichael Jones   test_neg_inf_arg(&__llvm_libc::fdimf);
251df0dbfcSMichael Jones }
26d4128046STue Ly 
TEST_F(LlvmLibcFDimTest,BothZero_fdimf)27*25226f3eSMichael Jones TEST_F(LlvmLibcFDimTest, BothZero_fdimf) {
28*25226f3eSMichael Jones   test_both_zero(&__llvm_libc::fdimf);
29*25226f3eSMichael Jones }
30d4128046STue Ly 
TEST_F(LlvmLibcFDimTest,InFloatRange_fdimf)311df0dbfcSMichael Jones TEST_F(LlvmLibcFDimTest, InFloatRange_fdimf) {
32*25226f3eSMichael Jones   test_in_range(&__llvm_libc::fdimf);
331df0dbfcSMichael Jones }
34