-
Couldn't load subscription status.
- Fork 58
Open
Labels
@nikhilr612
Description
Description
The get_device_type function transmutes the value -1 into DeviceType or returns DeviceType::ALL; however, the enum variant that corresponds to the value (-1i32 as u64) is DeviceType::ALL. This does not seem to be the intended behaviour.
///// Fetch Active ArrayFire device's type i.e. CPU/GPU/Accelerator etc. pub fn get_device_type() -> DeviceType { let mut out: i32 = 0; let err_val = unsafe { afcl_get_device_type(&mut out as *mut c_int) }; handle_error_general(AfError::from(err_val)); match out { -1 => unsafe { mem::transmute(out as u64) }, _ => DeviceType::ALL, } }
The value of -1 corresponds to AFCL_DEVICE_TYPE_UNKNOWN in arrayfire, whilst -1 corresponds to CL_DEVICE_TYPE_ALL in cl-sys