pub struct PyNumberSlots {Show 49 fields
pub add: AtomicCell<Option<PyNumberBinaryFunc>>,
pub subtract: AtomicCell<Option<PyNumberBinaryFunc>>,
pub multiply: AtomicCell<Option<PyNumberBinaryFunc>>,
pub remainder: AtomicCell<Option<PyNumberBinaryFunc>>,
pub divmod: AtomicCell<Option<PyNumberBinaryFunc>>,
pub power: AtomicCell<Option<fn(&PyObject, &PyObject, &PyObject, &VirtualMachine) -> PyResult>>,
pub negative: AtomicCell<Option<PyNumberUnaryFunc>>,
pub positive: AtomicCell<Option<PyNumberUnaryFunc>>,
pub absolute: AtomicCell<Option<PyNumberUnaryFunc>>,
pub boolean: AtomicCell<Option<PyNumberUnaryFunc<bool>>>,
pub invert: AtomicCell<Option<PyNumberUnaryFunc>>,
pub lshift: AtomicCell<Option<PyNumberBinaryFunc>>,
pub rshift: AtomicCell<Option<PyNumberBinaryFunc>>,
pub and: AtomicCell<Option<PyNumberBinaryFunc>>,
pub xor: AtomicCell<Option<PyNumberBinaryFunc>>,
pub or: AtomicCell<Option<PyNumberBinaryFunc>>,
pub int: AtomicCell<Option<PyNumberUnaryFunc>>,
pub float: AtomicCell<Option<PyNumberUnaryFunc>>,
pub right_add: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_subtract: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_multiply: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_remainder: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_divmod: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_power: AtomicCell<Option<fn(&PyObject, &PyObject, &PyObject, &VirtualMachine) -> PyResult>>,
pub right_lshift: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_rshift: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_and: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_xor: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_or: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_add: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_subtract: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_multiply: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_remainder: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_power: AtomicCell<Option<fn(&PyObject, &PyObject, &PyObject, &VirtualMachine) -> PyResult>>,
pub inplace_lshift: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_rshift: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_and: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_xor: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_or: AtomicCell<Option<PyNumberBinaryFunc>>,
pub floor_divide: AtomicCell<Option<PyNumberBinaryFunc>>,
pub true_divide: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_floor_divide: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_true_divide: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_floor_divide: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_true_divide: AtomicCell<Option<PyNumberBinaryFunc>>,
pub index: AtomicCell<Option<PyNumberUnaryFunc>>,
pub matrix_multiply: AtomicCell<Option<PyNumberBinaryFunc>>,
pub right_matrix_multiply: AtomicCell<Option<PyNumberBinaryFunc>>,
pub inplace_matrix_multiply: AtomicCell<Option<PyNumberBinaryFunc>>,
}Fieldsยง
ยงadd: AtomicCell<Option<PyNumberBinaryFunc>>ยงsubtract: AtomicCell<Option<PyNumberBinaryFunc>>ยงmultiply: AtomicCell<Option<PyNumberBinaryFunc>>ยงremainder: AtomicCell<Option<PyNumberBinaryFunc>>ยงdivmod: AtomicCell<Option<PyNumberBinaryFunc>>ยงpower: AtomicCell<Option<fn(&PyObject, &PyObject, &PyObject, &VirtualMachine) -> PyResult>>ยงnegative: AtomicCell<Option<PyNumberUnaryFunc>>ยงpositive: AtomicCell<Option<PyNumberUnaryFunc>>ยงabsolute: AtomicCell<Option<PyNumberUnaryFunc>>ยงboolean: AtomicCell<Option<PyNumberUnaryFunc<bool>>>ยงinvert: AtomicCell<Option<PyNumberUnaryFunc>>ยงlshift: AtomicCell<Option<PyNumberBinaryFunc>>ยงrshift: AtomicCell<Option<PyNumberBinaryFunc>>ยงand: AtomicCell<Option<PyNumberBinaryFunc>>ยงxor: AtomicCell<Option<PyNumberBinaryFunc>>ยงor: AtomicCell<Option<PyNumberBinaryFunc>>ยงint: AtomicCell<Option<PyNumberUnaryFunc>>ยงfloat: AtomicCell<Option<PyNumberUnaryFunc>>ยงright_add: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_subtract: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_multiply: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_remainder: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_divmod: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_power: AtomicCell<Option<fn(&PyObject, &PyObject, &PyObject, &VirtualMachine) -> PyResult>>ยงright_lshift: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_rshift: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_and: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_xor: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_or: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_add: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_subtract: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_multiply: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_remainder: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_power: AtomicCell<Option<fn(&PyObject, &PyObject, &PyObject, &VirtualMachine) -> PyResult>>ยงinplace_lshift: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_rshift: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_and: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_xor: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_or: AtomicCell<Option<PyNumberBinaryFunc>>ยงfloor_divide: AtomicCell<Option<PyNumberBinaryFunc>>ยงtrue_divide: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_floor_divide: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_true_divide: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_floor_divide: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_true_divide: AtomicCell<Option<PyNumberBinaryFunc>>ยงindex: AtomicCell<Option<PyNumberUnaryFunc>>ยงmatrix_multiply: AtomicCell<Option<PyNumberBinaryFunc>>ยงright_matrix_multiply: AtomicCell<Option<PyNumberBinaryFunc>>ยงinplace_matrix_multiply: AtomicCell<Option<PyNumberBinaryFunc>>Implementationsยง
Sourceยงimpl PyNumberSlots
impl PyNumberSlots
pub fn left_binary_op( &self, op_slot: PyNumberBinaryOp, ) -> Option<PyNumberBinaryFunc>
pub fn right_binary_op( &self, op_slot: PyNumberBinaryOp, ) -> Option<PyNumberBinaryFunc>
pub fn left_ternary_op( &self, op_slot: PyNumberTernaryOp, ) -> Option<fn(&PyObject, &PyObject, &PyObject, &VirtualMachine) -> PyResult>
pub fn right_ternary_op( &self, op_slot: PyNumberTernaryOp, ) -> Option<fn(&PyObject, &PyObject, &PyObject, &VirtualMachine) -> PyResult>
Trait Implementationsยง
Sourceยงimpl Default for PyNumberSlots
impl Default for PyNumberSlots
Sourceยงfn default() -> PyNumberSlots
fn default() -> PyNumberSlots
Returns the โdefault valueโ for a type. Read more
Sourceยงimpl From<&PyNumberMethods> for PyNumberSlots
impl From<&PyNumberMethods> for PyNumberSlots
Sourceยงfn from(value: &PyNumberMethods) -> Self
fn from(value: &PyNumberMethods) -> Self
Converts to this type from the input type.
Auto Trait Implementationsยง
impl !Freeze for PyNumberSlots
impl RefUnwindSafe for PyNumberSlots
impl Send for PyNumberSlots
impl Sync for PyNumberSlots
impl Unpin for PyNumberSlots
impl UnwindSafe for PyNumberSlots
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Sourceยงimpl<T> IntoEither for T
impl<T> IntoEither for T
Sourceยงfn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSourceยงfn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more