brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 88776b8 Raw
67 lines · cpp
1//===-- Unittests for acoshf16 --------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "hdr/errno_macros.h"10#include "src/__support/FPUtil/cast.h"11#include "src/math/acoshf16.h"12#include "test/UnitTest/FPMatcher.h"13#include "test/UnitTest/Test.h"14 15using LlvmLibcAcoshf16Test = LIBC_NAMESPACE::testing::FPTest<float16>;16 17TEST_F(LlvmLibcAcoshf16Test, SpecialNumbers) {18  EXPECT_FP_IS_NAN(LIBC_NAMESPACE::acoshf16(aNaN));19  EXPECT_MATH_ERRNO(0);20 21  EXPECT_FP_IS_NAN_WITH_EXCEPTION(LIBC_NAMESPACE::acoshf16(sNaN), FE_INVALID);22  EXPECT_MATH_ERRNO(0);23 24  EXPECT_FP_IS_NAN_WITH_EXCEPTION(LIBC_NAMESPACE::acoshf16(zero), FE_INVALID);25  EXPECT_MATH_ERRNO(EDOM);26 27  EXPECT_FP_IS_NAN(LIBC_NAMESPACE::acoshf16(neg_zero));28  EXPECT_MATH_ERRNO(EDOM);29 30  EXPECT_FP_IS_NAN_WITH_EXCEPTION(LIBC_NAMESPACE::acoshf16(neg_zero),31                                  FE_INVALID);32  EXPECT_MATH_ERRNO(EDOM);33 34  EXPECT_FP_EQ(inf, LIBC_NAMESPACE::acoshf16(inf));35  EXPECT_MATH_ERRNO(0);36 37  EXPECT_FP_IS_NAN(LIBC_NAMESPACE::acoshf16(neg_inf));38  EXPECT_MATH_ERRNO(EDOM);39 40  EXPECT_FP_IS_NAN_WITH_EXCEPTION(LIBC_NAMESPACE::acoshf16(neg_inf),41                                  FE_INVALID);42  EXPECT_MATH_ERRNO(EDOM);43 44  EXPECT_FP_EQ(zero, LIBC_NAMESPACE::acoshf16(45                         LIBC_NAMESPACE::fputil::cast<float16>(1.0)));46  EXPECT_MATH_ERRNO(0);47 48  EXPECT_FP_IS_NAN(49      LIBC_NAMESPACE::acoshf16(LIBC_NAMESPACE::fputil::cast<float16>(0.5)));50  EXPECT_MATH_ERRNO(EDOM);51 52  EXPECT_FP_IS_NAN_WITH_EXCEPTION(53      LIBC_NAMESPACE::acoshf16(LIBC_NAMESPACE::fputil::cast<float16>(-1.0)),54      FE_INVALID);55  EXPECT_MATH_ERRNO(EDOM);56 57  EXPECT_FP_IS_NAN_WITH_EXCEPTION(58      LIBC_NAMESPACE::acoshf16(LIBC_NAMESPACE::fputil::cast<float16>(-2.0)),59      FE_INVALID);60  EXPECT_MATH_ERRNO(EDOM);61 62  EXPECT_FP_IS_NAN_WITH_EXCEPTION(63      LIBC_NAMESPACE::acoshf16(LIBC_NAMESPACE::fputil::cast<float16>(-3.0)),64      FE_INVALID);65  EXPECT_MATH_ERRNO(EDOM);66}67