aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/lib/strings/numbers_test.cc
diff options
context:
space:
mode:
authorGravatar Manjunath Kudlur <keveman@google.com>2016-06-21 20:53:46 -0800
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2016-06-21 22:02:58 -0700
commite57750551e4aecea2ecc7f9339f00ca84997514c (patch)
tree7c431648703d0c8fefcf7b781e7fd7579d0192bf /tensorflow/core/lib/strings/numbers_test.cc
parent75919978d545473846b11eb1db0081dc2870b974 (diff)
Make floating point number parsing functions locale independent.
Fixes #2974 Change: 125530598
Diffstat (limited to 'tensorflow/core/lib/strings/numbers_test.cc')
-rw-r--r--tensorflow/core/lib/strings/numbers_test.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/tensorflow/core/lib/strings/numbers_test.cc b/tensorflow/core/lib/strings/numbers_test.cc
index 99c76f0121..66f820762f 100644
--- a/tensorflow/core/lib/strings/numbers_test.cc
+++ b/tensorflow/core/lib/strings/numbers_test.cc
@@ -233,8 +233,20 @@ TEST(safe_strtof, Float) {
// Overflow to infinity, underflow to 0.
EXPECT_TRUE(safe_strtof("1e39", &result));
EXPECT_EQ(std::numeric_limits<float>::infinity(), result);
+
+ EXPECT_TRUE(safe_strtof("-1e39", &result));
+ EXPECT_EQ(-std::numeric_limits<float>::infinity(), result);
+
EXPECT_TRUE(safe_strtof("1e-50", &result));
EXPECT_EQ(0, result);
+
+ EXPECT_TRUE(safe_strtof("0xF", &result));
+ EXPECT_EQ(0xF, result);
+
+ EXPECT_TRUE(safe_strtof("-0x2A", &result));
+ EXPECT_EQ(-42.0f, result);
+
+ EXPECT_FALSE(safe_strtof("-infinity is awesome", &result));
}
TEST(safe_strtod, Double) {
@@ -247,6 +259,10 @@ TEST(safe_strtod, Double) {
// Overflow to infinity, underflow to 0.
EXPECT_TRUE(safe_strtod("1e310", &result));
EXPECT_EQ(std::numeric_limits<double>::infinity(), result);
+
+ EXPECT_TRUE(safe_strtod("-1e310", &result));
+ EXPECT_EQ(-std::numeric_limits<double>::infinity(), result);
+
EXPECT_TRUE(safe_strtod("1e-325", &result));
EXPECT_EQ(0, result);
}