@@ -221,6 +221,8 @@ impl InferredDataType {
221
221
} else {
222
222
1 << m
223
223
}
224
+ } else if string == "NaN" || string == "nan" || string == "inf" || string == "-inf" {
225
+ 1 << 2 // Float64
224
226
} else {
225
227
1 << 8 // Utf8
226
228
}
@@ -1659,7 +1661,7 @@ mod tests {
1659
1661
let mut csv = builder. build ( file) . unwrap ( ) ;
1660
1662
let batch = csv. next ( ) . unwrap ( ) . unwrap ( ) ;
1661
1663
1662
- assert_eq ! ( 7 , batch. num_rows( ) ) ;
1664
+ assert_eq ! ( 10 , batch. num_rows( ) ) ;
1663
1665
assert_eq ! ( 6 , batch. num_columns( ) ) ;
1664
1666
1665
1667
let schema = batch. schema ( ) ;
@@ -1803,6 +1805,10 @@ mod tests {
1803
1805
assert_eq ! ( infer_field_schema( "10.2" ) , DataType :: Float64 ) ;
1804
1806
assert_eq ! ( infer_field_schema( ".2" ) , DataType :: Float64 ) ;
1805
1807
assert_eq ! ( infer_field_schema( "2." ) , DataType :: Float64 ) ;
1808
+ assert_eq ! ( infer_field_schema( "NaN" ) , DataType :: Float64 ) ;
1809
+ assert_eq ! ( infer_field_schema( "nan" ) , DataType :: Float64 ) ;
1810
+ assert_eq ! ( infer_field_schema( "inf" ) , DataType :: Float64 ) ;
1811
+ assert_eq ! ( infer_field_schema( "-inf" ) , DataType :: Float64 ) ;
1806
1812
assert_eq ! ( infer_field_schema( "true" ) , DataType :: Boolean ) ;
1807
1813
assert_eq ! ( infer_field_schema( "trUe" ) , DataType :: Boolean ) ;
1808
1814
assert_eq ! ( infer_field_schema( "false" ) , DataType :: Boolean ) ;
@@ -2372,7 +2378,7 @@ mod tests {
2372
2378
fn test_buffered ( ) {
2373
2379
let tests = [
2374
2380
( "test/data/uk_cities.csv" , false , 37 ) ,
2375
- ( "test/data/various_types.csv" , true , 7 ) ,
2381
+ ( "test/data/various_types.csv" , true , 10 ) ,
2376
2382
( "test/data/decimal_test.csv" , false , 10 ) ,
2377
2383
] ;
2378
2384
0 commit comments