(i: &PyInt, vm: &VirtualMachine)
| 1108 | |
| 1109 | #[inline] |
| 1110 | fn specialization_compact_int_value(i: &PyInt, vm: &VirtualMachine) -> Option<isize> { |
| 1111 | // _PyLong_IsCompact(): a one-digit PyLong (base 2^30), |
| 1112 | // i.e. abs(value) <= 2^30 - 1. |
| 1113 | const CPYTHON_COMPACT_LONG_ABS_MAX: i64 = (1i64 << 30) - 1; |
| 1114 | let v = i.try_to_primitive::<i64>(vm).ok()?; |
| 1115 | if (-CPYTHON_COMPACT_LONG_ABS_MAX..=CPYTHON_COMPACT_LONG_ABS_MAX).contains(&v) { |
| 1116 | Some(v as isize) |
| 1117 | } else { |
| 1118 | None |
| 1119 | } |
| 1120 | } |
| 1121 | |
| 1122 | #[inline] |
| 1123 | fn compact_int_from_obj(obj: &PyObject, vm: &VirtualMachine) -> Option<isize> { |
no test coverage detected