@@ -141,6 +141,9 @@ TEST(StringConversion, ToFloat) {
141141 AssertConversion<FloatType>(" 0" , 0 .0f );
142142 AssertConversion<FloatType>(" -0.0" , -0 .0f );
143143 AssertConversion<FloatType>(" -1e20" , -1e20f);
144+ AssertConversion<FloatType>(" 4e38" , std::numeric_limits<float >::infinity ());
145+ AssertConversion<FloatType>(" -4e38" , -std::numeric_limits<float >::infinity ());
146+ AssertConversion<FloatType>(" 1e-46" , 0 .0f );
144147 AssertConversion<FloatType>(" +Infinity" , std::numeric_limits<float >::infinity ());
145148 AssertConversion<FloatType>(" -Infinity" , -std::numeric_limits<float >::infinity ());
146149 AssertConversion<FloatType>(" Infinity" , std::numeric_limits<float >::infinity ());
@@ -166,6 +169,9 @@ TEST(StringConversion, ToDouble) {
166169 AssertConversion<DoubleType>(" 0" , 0 );
167170 AssertConversion<DoubleType>(" -0.0" , -0.0 );
168171 AssertConversion<DoubleType>(" -1e100" , -1e100 );
172+ AssertConversion<DoubleType>(" 2e308" , std::numeric_limits<double >::infinity ());
173+ AssertConversion<DoubleType>(" -2e308" , -std::numeric_limits<double >::infinity ());
174+ AssertConversion<DoubleType>(" 1e-325" , 0.0 );
169175 AssertConversion<DoubleType>(" +Infinity" , std::numeric_limits<double >::infinity ());
170176 AssertConversion<DoubleType>(" -Infinity" , -std::numeric_limits<double >::infinity ());
171177 AssertConversion<DoubleType>(" Infinity" , std::numeric_limits<double >::infinity ());
@@ -185,6 +191,9 @@ TEST(StringConversion, ToHalfFloat) {
185191 AssertConversion<HalfFloatType>(" 0" , Float16 (0 .0f ));
186192 AssertConversion<HalfFloatType>(" -0.0" , Float16 (-0 .0f ));
187193 AssertConversion<HalfFloatType>(" -1e15" , Float16 (-1e15 ));
194+ AssertConversion<HalfFloatType>(" 7e4" , Float16::FromBits (0x7c00 ));
195+ AssertConversion<HalfFloatType>(" -7e4" , Float16::FromBits (0xfc00 ));
196+ AssertConversion<HalfFloatType>(" 1e-9" , Float16 (0 .0f ));
188197 AssertConversion<HalfFloatType>(" +Infinity" , Float16::FromBits (0x7c00 ));
189198 AssertConversion<HalfFloatType>(" -Infinity" , Float16::FromBits (0xfc00 ));
190199 AssertConversion<HalfFloatType>(" Infinity" , Float16::FromBits (0x7c00 ));
0 commit comments