@@ -312,10 +312,9 @@ impl_num_element!(c32, DataType::Complex32);
312
312
impl_num_element ! ( c64, DataType :: Complex64 ) ;
313
313
314
314
cfg_if ! {
315
- if #[ cfg( target_pointer_width = "64" ) ] {
316
- impl_num_element!( usize , DataType :: Uint64 ) ;
317
- } else if #[ cfg( target_pointer_width = "32" ) ] {
318
- impl_num_element!( usize , DataType :: Uint32 ) ;
315
+ if #[ cfg( any( target_pointer_width = "32" , target_pointer_width = "64" ) ) ] {
316
+ impl_num_element!( usize , DataType :: integer:: <usize >( ) . unwrap( ) ) ;
317
+ impl_num_element!( isize , DataType :: integer:: <isize >( ) . unwrap( ) ) ;
319
318
}
320
319
}
321
320
@@ -329,7 +328,7 @@ unsafe impl Element for PyObject {
329
328
330
329
#[ cfg( test) ]
331
330
mod tests {
332
- use cfg_if :: cfg_if ;
331
+ use std :: mem :: size_of ;
333
332
334
333
use super :: { c32, c64, Element , PyArrayDescr } ;
335
334
@@ -352,13 +351,17 @@ mod tests {
352
351
assert_eq ! ( type_name:: <f64 >( py) , "float64" ) ;
353
352
assert_eq ! ( type_name:: <c32>( py) , "complex64" ) ;
354
353
assert_eq ! ( type_name:: <c64>( py) , "complex128" ) ;
355
- cfg_if ! {
356
- if #[ cfg( target_pointer_width = "64" ) ] {
357
- assert_eq!( type_name:: <usize >( py) , "uint64" ) ;
358
- } else if #[ cfg( target_pointer_width = "32" ) ] {
354
+ match size_of :: < usize > ( ) {
355
+ 32 => {
359
356
assert_eq ! ( type_name:: <usize >( py) , "uint32" ) ;
357
+ assert_eq ! ( type_name:: <isize >( py) , "int32" ) ;
358
+ }
359
+ 64 => {
360
+ assert_eq ! ( type_name:: <usize >( py) , "uint64" ) ;
361
+ assert_eq ! ( type_name:: <isize >( py) , "int64" ) ;
360
362
}
363
+ _ => { }
361
364
}
362
- } )
365
+ } ) ;
363
366
}
364
367
}
0 commit comments