diff --git a/llvm/include/llvm/Analysis/IR2Vec.h b/llvm/include/llvm/Analysis/IR2Vec.h index 06312562060aa..480b834077b86 100644 --- a/llvm/include/llvm/Analysis/IR2Vec.h +++ b/llvm/include/llvm/Analysis/IR2Vec.h @@ -116,7 +116,7 @@ struct Embedding { /// Returns true if the embedding is approximately equal to the RHS embedding /// within the specified tolerance. - bool approximatelyEquals(const Embedding &RHS, double Tolerance = 1e-6) const; + bool approximatelyEquals(const Embedding &RHS, double Tolerance = 1e-4) const; void print(raw_ostream &OS) const; }; diff --git a/llvm/unittests/Analysis/IR2VecTest.cpp b/llvm/unittests/Analysis/IR2VecTest.cpp index 05af55b59323b..33ac16828eb6c 100644 --- a/llvm/unittests/Analysis/IR2VecTest.cpp +++ b/llvm/unittests/Analysis/IR2VecTest.cpp @@ -154,14 +154,14 @@ TEST(EmbeddingTest, ApproximatelyEqual) { EXPECT_TRUE(E1.approximatelyEquals(E2)); // Diff = 1e-7 Embedding E3 = {1.00002, 2.00002, 3.00002}; // Diff = 2e-5 - EXPECT_FALSE(E1.approximatelyEquals(E3)); + EXPECT_FALSE(E1.approximatelyEquals(E3, 1e-6)); EXPECT_TRUE(E1.approximatelyEquals(E3, 3e-5)); Embedding E_clearly_within = {1.0000005, 2.0000005, 3.0000005}; // Diff = 5e-7 EXPECT_TRUE(E1.approximatelyEquals(E_clearly_within)); Embedding E_clearly_outside = {1.00001, 2.00001, 3.00001}; // Diff = 1e-5 - EXPECT_FALSE(E1.approximatelyEquals(E_clearly_outside)); + EXPECT_FALSE(E1.approximatelyEquals(E_clearly_outside, 1e-6)); Embedding E4 = {1.0, 2.0, 3.5}; // Large diff EXPECT_FALSE(E1.approximatelyEquals(E4, 0.01));