@ -169,14 +169,14 @@ string StringifyDefaultValue(const FieldDescriptor& field) {
double value = field . default_value_double ( ) ;
if ( value = = numeric_limits < double > : : infinity ( ) ) {
// Python pre-2.6 on Windows does not parse "inf" correctly. However,
// parsing a number that is too big for a double will return infinity.
return " float(' 1e10000') " ;
// a numeric literal that is too big for a double will become infinity.
return " 1e10000 " ;
} else if ( value = = - numeric_limits < double > : : infinity ( ) ) {
// See above.
return " float(' -1e10000') " ;
return " -1e10000 " ;
} else if ( value ! = value ) {
// infinity * 0 = nan
return " (float(' 1e10000') * 0) " ;
return " (1e10000 * 0) " ;
} else {
return SimpleDtoa ( value ) ;
}
@ -185,14 +185,14 @@ string StringifyDefaultValue(const FieldDescriptor& field) {
float value = field . default_value_float ( ) ;
if ( value = = numeric_limits < float > : : infinity ( ) ) {
// Python pre-2.6 on Windows does not parse "inf" correctly. However,
// parsing a number that is too big for a double will return infinity.
return " float(' 1e10000') " ;
// a numeric literal that is too big for a double will become infinity.
return " 1e10000 " ;
} else if ( value = = - numeric_limits < float > : : infinity ( ) ) {
// See above.
return " float(' -1e10000') " ;
return " -1e10000 " ;
} else if ( value ! = value ) {
// infinity - infinity = nan
return " (float('1e10000') - float('1e10000') ) " ;
return " (1e10000 * 0 ) " ;
} else {
return SimpleFtoa ( value ) ;
}