Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
authorSiva Chandra Reddy <sivachandra@google.com>2020-05-27 08:22:09 +0300
committerSiva Chandra Reddy <sivachandra@google.com>2020-05-27 08:26:41 +0300
commit9f69d3d0bc65ff50b1dc3ab0a6a08ddc32b190a6 (patch)
treee9c92cadf57ce54c25039f4d0bfc75c8b9f35511 /libc
parent0ed2d4c7cba8fb15e51d0f6f4e9011027c17085c (diff)
[libc][NFC][Obvious] Convert the MPFR operations enum to an enum class.
This was suggested in https://reviews.llvm.org/D79149.
Diffstat (limited to 'libc')
-rw-r--r--libc/test/src/math/cosf_test.cpp8
-rw-r--r--libc/test/src/math/exp2f_test.cpp19
-rw-r--r--libc/test/src/math/expf_test.cpp10
-rw-r--r--libc/test/src/math/fabs_test.cpp2
-rw-r--r--libc/test/src/math/fabsf_test.cpp3
-rw-r--r--libc/test/src/math/sincosf_test.cpp16
-rw-r--r--libc/test/src/math/sinf_test.cpp10
-rw-r--r--libc/utils/MPFRWrapper/MPFRUtils.cpp14
-rw-r--r--libc/utils/MPFRWrapper/MPFRUtils.h2
9 files changed, 43 insertions, 41 deletions
diff --git a/libc/test/src/math/cosf_test.cpp b/libc/test/src/math/cosf_test.cpp
index f9fc9c2e2d0d..1f9dffd87c10 100644
--- a/libc/test/src/math/cosf_test.cpp
+++ b/libc/test/src/math/cosf_test.cpp
@@ -80,7 +80,7 @@ TEST(CosfTest, InFloatRange) {
float x = valueFromBits(v);
if (isnan(x) || isinf(x))
continue;
- ASSERT_MPFR_MATCH(mpfr::OP_Cos, x, __llvm_libc::cosf(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Cos, x, __llvm_libc::cosf(x), tolerance);
}
}
@@ -88,12 +88,12 @@ TEST(CosfTest, InFloatRange) {
TEST(CosfTest, SmallValues) {
float x = valueFromBits(0x17800000U);
float result = __llvm_libc::cosf(x);
- EXPECT_MPFR_MATCH(mpfr::OP_Cos, x, result, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Cos, x, result, tolerance);
EXPECT_EQ(BitPatterns::one, valueAsBits(result));
x = valueFromBits(0x0040000U);
result = __llvm_libc::cosf(x);
- EXPECT_MPFR_MATCH(mpfr::OP_Cos, x, result, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Cos, x, result, tolerance);
EXPECT_EQ(BitPatterns::one, valueAsBits(result));
}
@@ -102,6 +102,6 @@ TEST(CosfTest, SmallValues) {
TEST(CosfTest, SDCOMP_26094) {
for (uint32_t v : sdcomp26094Values) {
float x = valueFromBits(v);
- ASSERT_MPFR_MATCH(mpfr::OP_Cos, x, __llvm_libc::cosf(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Cos, x, __llvm_libc::cosf(x), tolerance);
}
}
diff --git a/libc/test/src/math/exp2f_test.cpp b/libc/test/src/math/exp2f_test.cpp
index dbb7046e28bd..c900ec669544 100644
--- a/libc/test/src/math/exp2f_test.cpp
+++ b/libc/test/src/math/exp2f_test.cpp
@@ -92,27 +92,27 @@ TEST(ExpfTest, Borderline) {
llvmlibc_errno = 0;
x = valueFromBits(0x42fa0001U);
- EXPECT_MPFR_MATCH(mpfr::OP_Exp2, x, __llvm_libc::exp2f(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Exp2, x, __llvm_libc::exp2f(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
x = valueFromBits(0x42ffffffU);
- EXPECT_MPFR_MATCH(mpfr::OP_Exp2, x, __llvm_libc::exp2f(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Exp2, x, __llvm_libc::exp2f(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
x = valueFromBits(0xc2fa0001U);
- EXPECT_MPFR_MATCH(mpfr::OP_Exp2, x, __llvm_libc::exp2f(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Exp2, x, __llvm_libc::exp2f(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
x = valueFromBits(0xc2fc0000U);
- EXPECT_MPFR_MATCH(mpfr::OP_Exp2, x, __llvm_libc::exp2f(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Exp2, x, __llvm_libc::exp2f(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
x = valueFromBits(0xc2fc0001U);
- EXPECT_MPFR_MATCH(mpfr::OP_Exp2, x, __llvm_libc::exp2f(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Exp2, x, __llvm_libc::exp2f(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
x = valueFromBits(0xc3150000U);
- EXPECT_MPFR_MATCH(mpfr::OP_Exp2, x, __llvm_libc::exp2f(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Exp2, x, __llvm_libc::exp2f(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
}
@@ -124,12 +124,12 @@ TEST(ExpfTest, Underflow) {
llvmlibc_errno = 0;
float x = valueFromBits(0xc3158000U);
- EXPECT_MPFR_MATCH(mpfr::OP_Exp2, x, __llvm_libc::exp2f(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Exp2, x, __llvm_libc::exp2f(x), tolerance);
EXPECT_EQ(llvmlibc_errno, ERANGE);
llvmlibc_errno = 0;
x = valueFromBits(0xc3165432U);
- EXPECT_MPFR_MATCH(mpfr::OP_Exp2, x, __llvm_libc::exp2f(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Exp2, x, __llvm_libc::exp2f(x), tolerance);
EXPECT_EQ(llvmlibc_errno, ERANGE);
}
@@ -149,6 +149,7 @@ TEST(exp2fTest, InFloatRange) {
// wider precision.
if (isnan(result) || isinf(result) || llvmlibc_errno != 0)
continue;
- ASSERT_MPFR_MATCH(mpfr::OP_Exp2, x, __llvm_libc::exp2f(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Exp2, x, __llvm_libc::exp2f(x),
+ tolerance);
}
}
diff --git a/libc/test/src/math/expf_test.cpp b/libc/test/src/math/expf_test.cpp
index aa50bd71974b..c99058dbf6e5 100644
--- a/libc/test/src/math/expf_test.cpp
+++ b/libc/test/src/math/expf_test.cpp
@@ -109,19 +109,19 @@ TEST(ExpfTest, Borderline) {
llvmlibc_errno = 0;
x = valueFromBits(0x42affff8U);
- ASSERT_MPFR_MATCH(mpfr::OP_Exp, x, __llvm_libc::expf(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Exp, x, __llvm_libc::expf(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
x = valueFromBits(0x42b00008U);
- ASSERT_MPFR_MATCH(mpfr::OP_Exp, x, __llvm_libc::expf(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Exp, x, __llvm_libc::expf(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
x = valueFromBits(0xc2affff8U);
- ASSERT_MPFR_MATCH(mpfr::OP_Exp, x, __llvm_libc::expf(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Exp, x, __llvm_libc::expf(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
x = valueFromBits(0xc2b00008U);
- ASSERT_MPFR_MATCH(mpfr::OP_Exp, x, __llvm_libc::expf(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Exp, x, __llvm_libc::expf(x), tolerance);
EXPECT_EQ(llvmlibc_errno, 0);
}
@@ -141,6 +141,6 @@ TEST(ExpfTest, InFloatRange) {
// wider precision.
if (isnan(result) || isinf(result) || llvmlibc_errno != 0)
continue;
- ASSERT_MPFR_MATCH(mpfr::OP_Exp, x, __llvm_libc::expf(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Exp, x, __llvm_libc::expf(x), tolerance);
}
}
diff --git a/libc/test/src/math/fabs_test.cpp b/libc/test/src/math/fabs_test.cpp
index a4c934b07f5a..a9ce9e764298 100644
--- a/libc/test/src/math/fabs_test.cpp
+++ b/libc/test/src/math/fabs_test.cpp
@@ -59,6 +59,6 @@ TEST(FabsTest, InDoubleRange) {
double x = valueFromBits(v);
if (isnan(x) || isinf(x))
continue;
- ASSERT_MPFR_MATCH(mpfr::OP_Abs, x, __llvm_libc::fabs(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Abs, x, __llvm_libc::fabs(x), tolerance);
}
}
diff --git a/libc/test/src/math/fabsf_test.cpp b/libc/test/src/math/fabsf_test.cpp
index 40e61e6091b6..4231a251bf13 100644
--- a/libc/test/src/math/fabsf_test.cpp
+++ b/libc/test/src/math/fabsf_test.cpp
@@ -61,6 +61,7 @@ TEST(FabsfTest, InFloatRange) {
double x = valueFromBits(v);
if (isnan(x) || isinf(x))
continue;
- ASSERT_MPFR_MATCH(mpfr::OP_Abs, x, __llvm_libc::fabsf(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Abs, x, __llvm_libc::fabsf(x),
+ tolerance);
}
}
diff --git a/libc/test/src/math/sincosf_test.cpp b/libc/test/src/math/sincosf_test.cpp
index 9a87e2c9e58c..66b247aeb0af 100644
--- a/libc/test/src/math/sincosf_test.cpp
+++ b/libc/test/src/math/sincosf_test.cpp
@@ -95,8 +95,8 @@ TEST(SinCosfTest, InFloatRange) {
float sin, cos;
__llvm_libc::sincosf(x, &sin, &cos);
- ASSERT_MPFR_MATCH(mpfr::OP_Cos, x, cos, tolerance);
- ASSERT_MPFR_MATCH(mpfr::OP_Sin, x, sin, tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Cos, x, cos, tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Sin, x, sin, tolerance);
}
}
@@ -106,16 +106,16 @@ TEST(SinCosfTest, SmallValues) {
float x = valueFromBits(bits);
float result_cos, result_sin;
__llvm_libc::sincosf(x, &result_sin, &result_cos);
- EXPECT_MPFR_MATCH(mpfr::OP_Cos, x, result_cos, tolerance);
- EXPECT_MPFR_MATCH(mpfr::OP_Sin, x, result_sin, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Cos, x, result_cos, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Sin, x, result_sin, tolerance);
EXPECT_EQ(BitPatterns::one, valueAsBits(result_cos));
EXPECT_EQ(bits, valueAsBits(result_sin));
bits = 0x00400000;
x = valueFromBits(bits);
__llvm_libc::sincosf(x, &result_sin, &result_cos);
- EXPECT_MPFR_MATCH(mpfr::OP_Cos, x, result_cos, tolerance);
- EXPECT_MPFR_MATCH(mpfr::OP_Sin, x, result_sin, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Cos, x, result_cos, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Sin, x, result_sin, tolerance);
EXPECT_EQ(BitPatterns::one, valueAsBits(result_cos));
EXPECT_EQ(bits, valueAsBits(result_sin));
}
@@ -127,7 +127,7 @@ TEST(SinCosfTest, SDCOMP_26094) {
float x = valueFromBits(v);
float sin, cos;
__llvm_libc::sincosf(x, &sin, &cos);
- EXPECT_MPFR_MATCH(mpfr::OP_Cos, x, cos, tolerance);
- EXPECT_MPFR_MATCH(mpfr::OP_Sin, x, sin, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Cos, x, cos, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Sin, x, sin, tolerance);
}
}
diff --git a/libc/test/src/math/sinf_test.cpp b/libc/test/src/math/sinf_test.cpp
index e0821c621dcc..437281ada43a 100644
--- a/libc/test/src/math/sinf_test.cpp
+++ b/libc/test/src/math/sinf_test.cpp
@@ -80,13 +80,13 @@ TEST(SinfTest, InFloatRange) {
float x = valueFromBits(v);
if (isnan(x) || isinf(x))
continue;
- ASSERT_MPFR_MATCH(mpfr::OP_Sin, x, __llvm_libc::sinf(x), tolerance);
+ ASSERT_MPFR_MATCH(mpfr::Operation::Sin, x, __llvm_libc::sinf(x), tolerance);
}
}
TEST(SinfTest, SpecificBitPatterns) {
float x = valueFromBits(0xc70d39a1);
- EXPECT_MPFR_MATCH(mpfr::OP_Sin, x, __llvm_libc::sinf(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Sin, x, __llvm_libc::sinf(x), tolerance);
}
// For small values, sin(x) is x.
@@ -94,13 +94,13 @@ TEST(SinfTest, SmallValues) {
uint32_t bits = 0x17800000;
float x = valueFromBits(bits);
float result = __llvm_libc::sinf(x);
- EXPECT_MPFR_MATCH(mpfr::OP_Sin, x, result, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Sin, x, result, tolerance);
EXPECT_EQ(bits, valueAsBits(result));
bits = 0x00400000;
x = valueFromBits(bits);
result = __llvm_libc::sinf(x);
- EXPECT_MPFR_MATCH(mpfr::OP_Sin, x, result, tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Sin, x, result, tolerance);
EXPECT_EQ(bits, valueAsBits(result));
}
@@ -109,6 +109,6 @@ TEST(SinfTest, SmallValues) {
TEST(SinfTest, SDCOMP_26094) {
for (uint32_t v : sdcomp26094Values) {
float x = valueFromBits(v);
- EXPECT_MPFR_MATCH(mpfr::OP_Sin, x, __llvm_libc::sinf(x), tolerance);
+ EXPECT_MPFR_MATCH(mpfr::Operation::Sin, x, __llvm_libc::sinf(x), tolerance);
}
}
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index 74c2f760f034..51c8c3759292 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -86,21 +86,21 @@ public:
mpfr_init2(value, mpfrPrecision);
MPFRNumber mpfrInput(rawValue);
switch (op) {
- case OP_Abs:
+ case Operation::Abs:
mpfr_abs(value, mpfrInput.value, MPFR_RNDN);
break;
- case OP_Cos:
+ case Operation::Cos:
mpfr_cos(value, mpfrInput.value, MPFR_RNDN);
break;
- case OP_Sin:
- mpfr_sin(value, mpfrInput.value, MPFR_RNDN);
- break;
- case OP_Exp:
+ case Operation::Exp:
mpfr_exp(value, mpfrInput.value, MPFR_RNDN);
break;
- case OP_Exp2:
+ case Operation::Exp2:
mpfr_exp2(value, mpfrInput.value, MPFR_RNDN);
break;
+ case Operation::Sin:
+ mpfr_sin(value, mpfrInput.value, MPFR_RNDN);
+ break;
}
}
diff --git a/libc/utils/MPFRWrapper/MPFRUtils.h b/libc/utils/MPFRWrapper/MPFRUtils.h
index f6660f2fa78e..e39ed91281a9 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.h
+++ b/libc/utils/MPFRWrapper/MPFRUtils.h
@@ -39,7 +39,7 @@ struct Tolerance {
uint32_t bits;
};
-enum Operation { OP_Abs, OP_Cos, OP_Sin, OP_Exp, OP_Exp2 };
+enum class Operation : int { Abs, Cos, Exp, Exp2, Sin };
namespace internal {