|
@@ -30,10 +30,6 @@
|
|
|
|
|
|
#include <google/protobuf/util/internal/utility.h>
|
|
|
|
|
|
-#include <cmath>
|
|
|
-#include <algorithm>
|
|
|
-#include <utility>
|
|
|
-
|
|
|
#include <google/protobuf/stubs/common.h>
|
|
|
#include <google/protobuf/wrappers.pb.h>
|
|
|
#include <google/protobuf/descriptor.pb.h>
|
|
@@ -301,8 +297,8 @@ bool IsMap(const google::protobuf::Field& field,
|
|
|
}
|
|
|
|
|
|
string DoubleAsString(double value) {
|
|
|
- if (value == std::numeric_limits<double>::infinity()) return "Infinity";
|
|
|
- if (value == -std::numeric_limits<double>::infinity()) return "-Infinity";
|
|
|
+ if (google::protobuf::MathLimits<double>::IsPosInf(value)) return "Infinity";
|
|
|
+ if (google::protobuf::MathLimits<double>::IsNegInf(value)) return "-Infinity";
|
|
|
if (google::protobuf::MathLimits<double>::IsNaN(value)) return "NaN";
|
|
|
|
|
|
return SimpleDtoa(value);
|
|
@@ -320,8 +316,7 @@ bool SafeStrToFloat(StringPiece str, float *value) {
|
|
|
}
|
|
|
*value = static_cast<float>(double_value);
|
|
|
|
|
|
- if ((*value == numeric_limits<float>::infinity()) ||
|
|
|
- (*value == -numeric_limits<float>::infinity())) {
|
|
|
+ if (google::protobuf::MathLimits<float>::IsInf(*value)) {
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|