mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-02 19:39:49 +09:00
Fix PyNumber::boolean (#6111)
This commit is contained in:
@@ -492,7 +492,7 @@ impl AsNumber for PyComplex {
|
||||
let value = PyComplex::number_downcast(number).value;
|
||||
value.norm().to_pyresult(vm)
|
||||
}),
|
||||
boolean: Some(|number, _vm| Ok(PyComplex::number_downcast(number).value.is_zero())),
|
||||
boolean: Some(|number, _vm| Ok(!PyComplex::number_downcast(number).value.is_zero())),
|
||||
true_divide: Some(|a, b, vm| PyComplex::number_op(a, b, inner_div, vm)),
|
||||
..PyNumberMethods::NOT_IMPLEMENTED
|
||||
};
|
||||
|
||||
@@ -590,7 +590,7 @@ impl AsNumber for PyFloat {
|
||||
let value = PyFloat::number_downcast(num).value;
|
||||
value.abs().to_pyresult(vm)
|
||||
}),
|
||||
boolean: Some(|num, _vm| Ok(PyFloat::number_downcast(num).value.is_zero())),
|
||||
boolean: Some(|num, _vm| Ok(!PyFloat::number_downcast(num).value.is_zero())),
|
||||
int: Some(|num, vm| {
|
||||
let value = PyFloat::number_downcast(num).value;
|
||||
try_to_bigint(value, vm).map(|x| PyInt::from(x).into_pyobject(vm))
|
||||
|
||||
@@ -773,7 +773,7 @@ impl PyInt {
|
||||
negative: Some(|num, vm| (&Self::number_downcast(num).value).neg().to_pyresult(vm)),
|
||||
positive: Some(|num, vm| Ok(Self::number_downcast_exact(num, vm).into())),
|
||||
absolute: Some(|num, vm| Self::number_downcast(num).value.abs().to_pyresult(vm)),
|
||||
boolean: Some(|num, _vm| Ok(Self::number_downcast(num).value.is_zero())),
|
||||
boolean: Some(|num, _vm| Ok(!Self::number_downcast(num).value.is_zero())),
|
||||
invert: Some(|num, vm| (&Self::number_downcast(num).value).not().to_pyresult(vm)),
|
||||
lshift: Some(|a, b, vm| Self::number_op(a, b, inner_lshift, vm)),
|
||||
rshift: Some(|a, b, vm| Self::number_op(a, b, inner_rshift, vm)),
|
||||
|
||||
Reference in New Issue
Block a user