@@ -2443,18 +2443,18 @@ def _get_analyze_compat_dtype(arr):
2443
2443
return np .dtype ('int16' if arr .max () <= np .iinfo (np .int16 ).max else 'int32' )
2444
2444
2445
2445
mn , mx = arr .min (), arr .max ()
2446
- if np .can_cast (mn , np .int32 ) and np .can_cast (mx , np .int32 ):
2447
- return np .dtype ('int32' )
2448
- elif isinstance (mn , int ) and isinstance (mx , int ):
2446
+ if isinstance (mn , int ) and isinstance (mx , int ):
2449
2447
info = np .finfo ('int32' )
2450
2448
if mn >= info .min and mx <= info .max :
2451
2449
return np .dtype ('int32' )
2452
- if np .can_cast (mn , np .float32 ) and np .can_cast (mx , np .float32 ):
2453
- return np .dtype ('float32' )
2454
2450
elif isinstance (mn , float ) and isinstance (mx , float ):
2455
2451
info = np .finfo ('float32' )
2456
2452
if mn >= info .min and mx <= info .max :
2457
2453
return np .dtype ('float32' )
2454
+ elif np .can_cast (mn , np .int32 ) and np .can_cast (mx , np .int32 ):
2455
+ return np .dtype ('int32' )
2456
+ elif np .can_cast (mn , np .float32 ) and np .can_cast (mx , np .float32 ):
2457
+ return np .dtype ('float32' )
2458
2458
2459
2459
raise ValueError (
2460
2460
f'Cannot find analyze-compatible dtype for array with dtype={ dtype } (min={ mn } , max={ mx } )'
0 commit comments