# PyNumberMethods in pyo3::ffi - Rust
API documentation for the Rust `PyNumberMethods` struct in crate `pyo3`.

pyo3::ffi

# Struct PyNumberMethods

Source

    #[repr(C)]pub struct PyNumberMethods {Show 36 fields
        pub nb_add: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_subtract: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_multiply: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_remainder: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_divmod: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_power: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_negative: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
        pub nb_positive: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
        pub nb_absolute: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
        pub nb_bool: Option<unsafe extern "C" fn(_: *mut PyObject) -> i32>,
        pub nb_invert: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
        pub nb_lshift: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_rshift: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_and: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_xor: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_or: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_int: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
        pub nb_reserved: *mut c_void,
        pub nb_float: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_add: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_subtract: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_multiply: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_remainder: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_power: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_lshift: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_rshift: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_and: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_xor: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_or: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_floor_divide: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_true_divide: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_floor_divide: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_true_divide: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_index: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>,
        pub nb_matrix_multiply: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
        pub nb_inplace_matrix_multiply: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>,
    }

## Fields§

§ `nb_add: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_subtract: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_multiply: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_remainder: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_divmod: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_power: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_negative: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>` § `nb_positive: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>` § `nb_absolute: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>` § `nb_bool: Option<unsafe extern "C" fn(_: *mut PyObject) -> i32>` § `nb_invert: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>` § `nb_lshift: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_rshift: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_and: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_xor: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_or: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_int: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>` § `nb_reserved: *mut c_void` § `nb_float: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>` § `nb_inplace_add: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_subtract: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_multiply: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_remainder: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_power: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_lshift: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_rshift: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_and: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_xor: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_or: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_floor_divide: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_true_divide: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_floor_divide: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_true_divide: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_index: Option<unsafe extern "C" fn(_: *mut PyObject) -> *mut PyObject>` § `nb_matrix_multiply: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>` § `nb_inplace_matrix_multiply: Option<unsafe extern "C" fn(_: *mut PyObject, _: *mut PyObject) -> *mut PyObject>`

## Trait Implementations§

Source §

### impl Clone for PyNumberMethods

Source §

#### fn clone(&self) -> PyNumberMethods

Returns a copy of the value. Read more
1.0.0 · Source §

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more
Source §

### impl Copy for PyNumberMethods

## Auto Trait Implementations§

§

### impl Freeze for PyNumberMethods

§

### impl RefUnwindSafe for PyNumberMethods

§

### impl !Send for PyNumberMethods

§

### impl !Sync for PyNumberMethods

§

### impl Unpin for PyNumberMethods

§

### impl UnwindSafe for PyNumberMethods

## Blanket Implementations§

Source §

### impl<T> Any for T
where T: 'static + ?Sized,

Source §

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
Source §

### impl<T> Borrow<T> for T
where T: ?Sized,

Source §

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source §

### impl<T> BorrowMut<T> for T
where T: ?Sized,

Source §

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source §

### impl<T> CloneToUninit for T
where T: Clone,

Source §

#### unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (`clone_to_uninit`)
Performs copy-assignment from `self` to `dst`. Read more
Source §

### impl<T> From<T> for T

Source §

#### fn from(t: T) -> T

Returns the argument unchanged.

Source §

### impl<T, U> Into<U> for T
where U: From<T>,

Source §

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

Source §

### impl<T> ToOwned for T
where T: Clone,

Source §

#### type Owned = T

The resulting type after obtaining ownership.
Source §

#### fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source §

#### fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source §

### impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source §

#### type Error = Infallible

The type returned in the event of a conversion error.
Source §

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source §

### impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source §

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source §

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.