brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 25229f8 Raw
44 lines · cpp
1//===-- Unittests for sqrtf128 --------------------------------------------===//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 "SqrtTest.h"10 11#include "src/math/sqrtf128.h"12 13#include "src/__support/integer_literals.h"14 15LIST_SQRT_TESTS(float128, LIBC_NAMESPACE::sqrtf128)16 17TEST_F(LlvmLibcSqrtTest, SpecialInputs) {18  constexpr float128 INPUTS[] = {19      0x0.000000dee2f5b6a26c8f07f05442p-16382q,20      0x0.000000c86d174c5ad8ae54a548e7p-16382q,21      0x0.000020ab15cfe0b8e488e128f535p-16382q,22      0x0.0000219e97732a9970f2511989bap-16382q,23      0x0.000026e477546ae99ef57066f9fdp-16382q,24      0x0.00002d0f88d27a496b3e533f5067p-16382q,25      0x1.0000000000000000000000000001p+0q,26      0x1.0000000000000000000000000003p+0q,27      0x1.0000000000000000000000000005p+0q,28      0x1.2af17a4ae6f93d11310c49c11b59p+0q,29      0x1.c4f5074269525063a26051a0ad27p+0q,30      0x1.035cb5f298a801dc4be9b1f8cd97p+1q,31      0x1.274be02380427e709beab4dedeb4p+1q,32      0x1.64e797cfdbaa3f7e2f33279dbc6p+1q,33      0x1.d78d8352b48608b510bfd5c75315p+1q,34      0x1.fffffffffffffffffffffffffffbp+1q,35      0x1.fffffffffffffffffffffffffffdp+1q,36      0x1.ffffffffffffffffffffffffffffp+1q,37  };38 39  for (auto input : INPUTS) {40    ASSERT_MPFR_MATCH_ALL_ROUNDING(mpfr::Operation::Sqrt, input,41                                   LIBC_NAMESPACE::sqrtf128(input), 0.5);42  }43}44