| /llvm-project-15.0.7/libc/src/math/generic/ |
| H A D | log1pf.cpp | 47 return fputil::FPBits<float>::build_nan( in log() 89 if (fputil::get_round() != FE_UPWARD) 93 if (fputil::get_round() == FE_UPWARD) 97 if (fputil::get_round() != FE_UPWARD) 101 if (fputil::get_round() != FE_UPWARD) 113 if (fputil::get_round() != FE_UPWARD) 125 int round_mode = fputil::get_round(); 137 if (fputil::get_round() == FE_TONEAREST) 141 if (fputil::get_round() == FE_TONEAREST) 145 if (fputil::get_round() != FE_DOWNWARD) [all …]
|
| H A D | CMakeLists.txt | 8 libc.src.__support.FPUtil.fputil 20 libc.src.__support.FPUtil.fputil 32 libc.src.__support.FPUtil.fputil 84 libc.src.__support.FPUtil.fputil 114 libc.src.__support.FPUtil.fputil 126 libc.src.__support.FPUtil.fputil 138 libc.src.__support.FPUtil.fputil 150 libc.src.__support.FPUtil.fputil 162 libc.src.__support.FPUtil.fputil 174 libc.src.__support.FPUtil.fputil [all …]
|
| H A D | exp2f.cpp | 51 using FPBits = typename fputil::FPBits<float>; 60 if (fputil::get_round() == FE_TONEAREST) 64 if (fputil::get_round() == FE_TONEAREST) 68 int round_mode = fputil::get_round(); 74 if (fputil::get_round() == FE_UPWARD) 78 if (fputil::get_round() == FE_TONEAREST) 82 if (fputil::get_round() == FE_TONEAREST) 97 int rounding = fputil::get_round(); 114 if (fputil::get_round() == FE_UPWARD) 145 fputil::FPBits<double> exp_hi( [all …]
|
| H A D | logf.cpp | 54 using FPBits = typename fputil::FPBits<float>; 59 if (fputil::get_round() == FE_TONEAREST) 63 if (fputil::get_round() == FE_TONEAREST) 67 if (fputil::get_round() == FE_TONEAREST) 71 if (fputil::get_round() == FE_TONEAREST) 75 if (fputil::get_round() == FE_UPWARD) 79 if (fputil::get_round() != FE_UPWARD) 83 if (fputil::get_round() != FE_UPWARD) 87 if (fputil::get_round() != FE_UPWARD) 122 fputil::multiply_add(static_cast<double>(m), LOG_2, LOG_F[f_index]); [all …]
|
| H A D | expm1f.cpp | 25 using FPBits = typename fputil::FPBits<float>; 33 int round_mode = fputil::get_round(); 41 int round_mode = fputil::get_round(); 58 int round_mode = fputil::get_round(); 66 int rounding = fputil::get_round(); 103 return fputil::fma(x, x, x); 106 return static_cast<float>(fputil::multiply_add(xd, xd, xd)); 120 return static_cast<float>(fputil::multiply_add(r, xsq, xd)); 138 float kf = fputil::nearest_integer(x * 0x1.0p7f); 141 double xd = static_cast<double>(fputil::multiply_add(kf, -0x1.0p-7f, x)); [all …]
|
| H A D | sinf.cpp | 45 using FPBits = typename fputil::FPBits<float>; 121 return fputil::multiply_add(x, -0x1.0p-25f, x); 123 return static_cast<float>(fputil::multiply_add(xd, -0x1.0p-25, xd)); 138 fputil::polyeval(xsq, 1.0, -0x1.55555555554c6p-3, 0x1.1111111085e65p-7, 150 typename fputil::ExceptionChecker<float, N_EXCEPT_SMALL>; 164 fputil::set_except(FE_INVALID); 167 FPBits::build_nan(1 << (fputil::MantissaWidth<float>::VALUE - 1)); 171 typename fputil::ExceptionChecker<float, N_EXCEPT_LARGE>; 194 y * fputil::polyeval(ysq, 0x1.921fb54442d17p1, -0x1.4abbce625bd4bp2,
|
| H A D | expf.cpp | 24 using FPBits = typename fputil::FPBits<float>; 50 if (fputil::get_round() == FE_UPWARD) 59 int rounding = fputil::get_round(); 84 float kf = fputil::nearest_integer(x * 0x1.0p7f); 86 double xd = static_cast<double>(fputil::multiply_add(kf, -0x1.0p-7f, x)); 99 fputil::polyeval(xd, 0x1p0, 0x1.ffffffffff777p-1, 0x1.000000000071cp-1,
|
| H A D | log10f.cpp | 107 using FPBits = typename fputil::FPBits<float>; 134 if (fputil::get_round() == FE_UPWARD) 138 int round_mode = fputil::get_round(); 151 return FPBits::build_nan(1 << (fputil::MantissaWidth<float>::VALUE - 1)); 172 double extra_factor = fputil::multiply_add(m, LOG10_2, LOG10_F[f_index]); 174 double r = fputil::polyeval(d, extra_factor, 0x1.bcb7b1526e4c5p-2,
|
| H A D | log2f.cpp | 102 using FPBits = typename fputil::FPBits<float>; 109 int rounding_mode = fputil::get_round(); 116 if (fputil::get_round() == FE_TONEAREST) { 121 if (fputil::get_round() == FE_TOWARDZERO) { 134 return FPBits::build_nan(1 << (fputil::MantissaWidth<float>::VALUE - 1)); 159 double r = __llvm_libc::fputil::polyeval(
|
| /llvm-project-15.0.7/libc/src/__support/ |
| H A D | str_to_float.h | 55 return fputil::safe_clz(inputNumber); 59 return fputil::safe_clz(inputNumber); 327 *outputExp2 = fputil::FPBits<T>::MAX_EXPONENT; in simple_decimal_conversion() 378 if (exp2 >= fputil::FPBits<T>::MAX_EXPONENT) { in simple_decimal_conversion() 380 *outputExp2 = fputil::FPBits<T>::MAX_EXPONENT; in simple_decimal_conversion() 418 if (exp2 >= fputil::FPBits<T>::MAX_EXPONENT) { in simple_decimal_conversion() 513 fputil::FPBits<T> result; in clinger_fast_path() 517 result = fputil::FPBits<T>(float_mantissa); in clinger_fast_path() 533 result = fputil::FPBits<T>(float_mantissa * in clinger_fast_path() 539 result = fputil::FPBits<T>(float_mantissa / in clinger_fast_path() [all …]
|
| /llvm-project-15.0.7/libc/test/src/math/ |
| H A D | CMakeLists.txt | 16 libc.src.__support.FPUtil.fputil 28 libc.src.__support.FPUtil.fputil 44 libc.src.__support.FPUtil.fputil 56 libc.src.__support.FPUtil.fputil 72 libc.src.__support.FPUtil.fputil 87 libc.src.__support.FPUtil.fputil 102 libc.src.__support.FPUtil.fputil 117 libc.src.__support.FPUtil.fputil 132 libc.src.__support.FPUtil.fputil 147 libc.src.__support.FPUtil.fputil [all …]
|
| H A D | RoundToIntegerTest.h | 32 using FPBits = __llvm_libc::fputil::FPBits<F>; 37 const F inf = F(__llvm_libc::fputil::FPBits<F>::inf()); 46 __llvm_libc::fputil::clear_except(FE_ALL_EXCEPT); in test_one_input() 93 __llvm_libc::fputil::set_round(mode); in testInfinityAndNaN() 137 __llvm_libc::fputil::set_round(mode); in testRoundNumbers() 164 __llvm_libc::fputil::set_round(mode); in testFractions() 195 __llvm_libc::fputil::set_round(m); in testIntegerOverflow() 222 __llvm_libc::fputil::set_round(FE_UPWARD); in testSubnormalRange() 224 __llvm_libc::fputil::set_round(FE_DOWNWARD); in testSubnormalRange() 231 __llvm_libc::fputil::set_round(FE_UPWARD); in testSubnormalRange() [all …]
|
| H A D | ILogbTest.h | 25 EXPECT_EQ(FP_ILOGB0, func(T(__llvm_libc::fputil::FPBits<T>::zero()))); in test_special_numbers() 26 EXPECT_EQ(FP_ILOGB0, func(T(__llvm_libc::fputil::FPBits<T>::neg_zero()))); in test_special_numbers() 29 func(T(__llvm_libc::fputil::FPBits<T>::build_nan(1)))); in test_special_numbers() 31 EXPECT_EQ(INT_MAX, func(T(__llvm_libc::fputil::FPBits<T>::inf()))); in test_special_numbers() 32 EXPECT_EQ(INT_MAX, func(T(__llvm_libc::fputil::FPBits<T>::neg_inf()))); in test_special_numbers() 76 using FPBits = __llvm_libc::fputil::FPBits<T>; in test_subnormal_range() 88 __llvm_libc::fputil::frexp(x, exponent); in test_subnormal_range() 95 using FPBits = __llvm_libc::fputil::FPBits<T>; in test_normal_range() 105 __llvm_libc::fputil::frexp(x, exponent); in test_normal_range()
|
| /llvm-project-15.0.7/libc/test/src/fenv/ |
| H A D | exception_flags_test.cpp | 20 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() 21 __llvm_libc::fputil::clear_except(FE_ALL_EXCEPT); in TEST() 30 __llvm_libc::fputil::raise_except(e); in TEST() 32 ASSERT_NE(__llvm_libc::fputil::test_except(FE_ALL_EXCEPT) & e, 0); in TEST() 37 __llvm_libc::fputil::clear_except(e); in TEST() 38 ASSERT_EQ(__llvm_libc::fputil::test_except(FE_ALL_EXCEPT) & e, 0); in TEST() 41 ASSERT_NE(__llvm_libc::fputil::test_except(FE_ALL_EXCEPT) & e, 0); in TEST() 45 __llvm_libc::fputil::clear_except(FE_ALL_EXCEPT); in TEST() 49 __llvm_libc::fputil::raise_except(FE_INVALID); in TEST() 53 __llvm_libc::fputil::clear_except(FE_ALL_EXCEPT); in TEST() [all …]
|
| H A D | feholdexcept_test.cpp | 27 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() 28 __llvm_libc::fputil::enable_except(FE_DIVBYZERO); in TEST() 29 if (__llvm_libc::fputil::get_except() == 0) in TEST() 38 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() 39 __llvm_libc::fputil::enable_except(e); in TEST() 40 ASSERT_EQ(__llvm_libc::fputil::clear_except(FE_ALL_EXCEPT), 0); in TEST() 44 ASSERT_EQ(__llvm_libc::fputil::raise_except(e), 0); in TEST() 54 __llvm_libc::fputil::set_env(&env); in TEST() 55 __llvm_libc::fputil::raise_except(e); in TEST() 59 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() [all …]
|
| H A D | getenv_and_setenv_test.cpp | 22 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() 28 __llvm_libc::fputil::clear_except(FE_ALL_EXCEPT); in TEST() 34 __llvm_libc::fputil::raise_except(e); in TEST() 36 ASSERT_NE(__llvm_libc::fputil::test_except(FE_ALL_EXCEPT) & e, 0); in TEST() 39 ASSERT_EQ(__llvm_libc::fputil::test_except(FE_ALL_EXCEPT) & e, 0); in TEST() 46 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() 52 __llvm_libc::fputil::clear_except(FE_ALL_EXCEPT); in TEST() 58 __llvm_libc::fputil::raise_except(e); in TEST() 60 ASSERT_NE(__llvm_libc::fputil::test_except(FE_ALL_EXCEPT) & e, 0); in TEST() 64 ASSERT_EQ(__llvm_libc::fputil::test_except(FE_ALL_EXCEPT) & e, 0); in TEST()
|
| H A D | enabled_exceptions_test.cpp | 32 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() 33 __llvm_libc::fputil::enable_except(FE_DIVBYZERO); in TEST() 34 if (__llvm_libc::fputil::get_except() == 0) in TEST() 53 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() 54 __llvm_libc::fputil::enable_except(e); in TEST() 72 __llvm_libc::fputil::enable_except(e); in TEST() 77 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST()
|
| H A D | feclearexcept_test.cpp | 20 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() 21 __llvm_libc::fputil::clear_except(FE_ALL_EXCEPT); in TEST() 24 ASSERT_EQ(__llvm_libc::fputil::test_except(e), 0); in TEST() 26 __llvm_libc::fputil::raise_except(FE_ALL_EXCEPT); in TEST() 35 ASSERT_EQ(__llvm_libc::fputil::test_except(e1 | e2 | e3 | e4 | e5), in TEST() 38 __llvm_libc::fputil::raise_except(e1 | e2 | e3 | e4 | e5); in TEST()
|
| H A D | feupdateenv_test.cpp | 18 __llvm_libc::fputil::disable_except(FE_ALL_EXCEPT); in TEST() 19 __llvm_libc::fputil::clear_except(FE_ALL_EXCEPT); in TEST() 22 ASSERT_EQ(__llvm_libc::fputil::get_env(&env), 0); in TEST() 23 __llvm_libc::fputil::set_except(FE_INVALID | FE_INEXACT); in TEST() 25 ASSERT_EQ(__llvm_libc::fputil::test_except(FE_INVALID | FE_INEXACT), in TEST()
|
| /llvm-project-15.0.7/libc/src/fenv/ |
| H A D | CMakeLists.txt | 9 libc.src.__support.FPUtil.fputil 22 libc.src.__support.FPUtil.fputil 35 libc.src.__support.FPUtil.fputil 48 libc.src.__support.FPUtil.fputil 61 libc.src.__support.FPUtil.fputil 74 libc.src.__support.FPUtil.fputil 87 libc.src.__support.FPUtil.fputil 100 libc.src.__support.FPUtil.fputil 113 libc.src.__support.FPUtil.fputil 126 libc.src.__support.FPUtil.fputil [all …]
|
| /llvm-project-15.0.7/libc/test/src/stdlib/ |
| H A D | atof_test.cpp | 21 __llvm_libc::fputil::FPBits<double> expected_fp = in TEST() 22 __llvm_libc::fputil::FPBits<double>(uint64_t(0x405ec00000000000)); in TEST() 27 __llvm_libc::fputil::FPBits<double> actual_fp = in TEST() 28 __llvm_libc::fputil::FPBits<double>(result); in TEST() 38 __llvm_libc::fputil::FPBits<double> expected_fp = in TEST() 39 __llvm_libc::fputil::FPBits<double>(uint64_t(0)); in TEST() 44 __llvm_libc::fputil::FPBits<double> actual_fp = in TEST() 45 __llvm_libc::fputil::FPBits<double>(result); in TEST()
|
| /llvm-project-15.0.7/libc/test/src/math/exhaustive/ |
| H A D | CMakeLists.txt | 21 libc.src.__support.FPUtil.fputil 36 libc.src.__support.FPUtil.fputil 51 libc.src.__support.FPUtil.fputil 66 libc.src.__support.FPUtil.fputil 83 libc.src.__support.FPUtil.fputil 100 libc.src.__support.FPUtil.fputil 117 libc.src.__support.FPUtil.fputil 134 libc.src.__support.FPUtil.fputil 151 libc.src.__support.FPUtil.fputil 168 libc.src.__support.FPUtil.fputil [all …]
|
| /llvm-project-15.0.7/libc/src/stdio/printf_core/ |
| H A D | float_hex_converter.h | 25 using MantissaInt = fputil::FPBits<long double>::UIntType; 40 mantissa_width = fputil::MantissaWidth<long double>::VALUE; in convert_float_hex_exp() 41 exponent_bias = fputil::FPBits<long double>::EXPONENT_BIAS; in convert_float_hex_exp() 42 fputil::FPBits<long double>::UIntType float_raw = to_conv.conv_val_raw; in convert_float_hex_exp() 43 fputil::FPBits<long double> float_bits(float_raw); in convert_float_hex_exp() 49 mantissa_width = fputil::MantissaWidth<double>::VALUE; in convert_float_hex_exp() 50 exponent_bias = fputil::FPBits<double>::EXPONENT_BIAS; in convert_float_hex_exp() 51 fputil::FPBits<double>::UIntType float_raw = to_conv.conv_val_raw; in convert_float_hex_exp() 52 fputil::FPBits<double> float_bits(float_raw); in convert_float_hex_exp() 113 switch (fputil::get_round()) { in convert_float_hex_exp() [all …]
|
| /llvm-project-15.0.7/libc/utils/UnitTest/ |
| H A D | FPMatcher.h | 20 namespace fputil { 43 fputil::FPBits<T> actualBits(actual), expectedBits(expected); in match() 71 using FPBits = __llvm_libc::fputil::FPBits<T>; \ 82 __llvm_libc::fputil::testing::getMatcher<__llvm_libc::testing::Cond_EQ>( \ 88 __llvm_libc::fputil::testing::getMatcher<__llvm_libc::testing::Cond_EQ>( \ 94 __llvm_libc::fputil::testing::getMatcher<__llvm_libc::testing::Cond_NE>( \ 100 __llvm_libc::fputil::testing::getMatcher<__llvm_libc::testing::Cond_NE>( \ 124 EXPECT_EQ(__llvm_libc::fputil::test_except(FE_ALL_EXCEPT), expected); \ 131 ASSERT_EQ(__llvm_libc::fputil::test_except(FE_ALL_EXCEPT), expected); \
|
| H A D | FPMatcher.cpp | 19 namespace fputil { namespace 37 (fputil::ExponentWidth<ValType>::VALUE - 1) / 4 + 1; in describeValue() 39 (fputil::MantissaWidth<ValType>::VALUE - 1) / 4 + 1; in describeValue() 41 sizeof(typename fputil::FPBits<ValType>::UIntType) * 2; in describeValue() 44 << int_to_hex<typename fputil::FPBits<ValType>::UIntType>( in describeValue() 50 << int_to_hex<typename fputil::FPBits<ValType>::UIntType>( in describeValue()
|