use crate::integer::Integer;
use core::ops::Div;
impl Div<Integer> for Integer {
type Output = Integer;
fn div(mut self, rhs: Integer) -> Self::Output {
Integer::divide_assign(&mut self, &rhs);
self
}
}
impl Div<&Integer> for Integer {
type Output = Integer;
fn div(mut self, rhs: &Integer) -> Self::Output {
Integer::divide_assign(&mut self, rhs);
self
}
}
impl Div<Integer> for &Integer {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(self, &rhs)
}
}
impl Div<&Integer> for &Integer {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(self, rhs)
}
}
impl Div<i8> for Integer {
type Output = Integer;
fn div(mut self, rhs: i8) -> Self::Output {
Integer::divide_c_long_assign(&mut self, rhs);
self
}
}
impl Div<&i8> for Integer {
type Output = Integer;
fn div(mut self, rhs: &i8) -> Self::Output {
Integer::divide_c_long_assign(&mut self, *rhs);
self
}
}
impl Div<i8> for &Integer {
type Output = Integer;
fn div(self, rhs: i8) -> Self::Output {
Integer::divide_c_long(self, rhs)
}
}
impl Div<&i8> for &Integer {
type Output = Integer;
fn div(self, rhs: &i8) -> Self::Output {
Integer::divide_c_long(self, *rhs)
}
}
impl Div<Integer> for i8 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
impl Div<&Integer> for i8 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
impl Div<Integer> for &i8 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
impl Div<&Integer> for &i8 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
impl Div<u8> for Integer {
type Output = Integer;
fn div(mut self, rhs: u8) -> Self::Output {
Integer::divide_c_long_assign(&mut self, rhs);
self
}
}
impl Div<&u8> for Integer {
type Output = Integer;
fn div(mut self, rhs: &u8) -> Self::Output {
Integer::divide_c_long_assign(&mut self, *rhs);
self
}
}
impl Div<u8> for &Integer {
type Output = Integer;
fn div(self, rhs: u8) -> Self::Output {
Integer::divide_c_long(self, rhs)
}
}
impl Div<&u8> for &Integer {
type Output = Integer;
fn div(self, rhs: &u8) -> Self::Output {
Integer::divide_c_long(self, *rhs)
}
}
impl Div<Integer> for u8 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
impl Div<&Integer> for u8 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
impl Div<Integer> for &u8 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
impl Div<&Integer> for &u8 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
impl Div<i16> for Integer {
type Output = Integer;
fn div(mut self, rhs: i16) -> Self::Output {
Integer::divide_c_long_assign(&mut self, rhs);
self
}
}
impl Div<&i16> for Integer {
type Output = Integer;
fn div(mut self, rhs: &i16) -> Self::Output {
Integer::divide_c_long_assign(&mut self, *rhs);
self
}
}
impl Div<i16> for &Integer {
type Output = Integer;
fn div(self, rhs: i16) -> Self::Output {
Integer::divide_c_long(self, rhs)
}
}
impl Div<&i16> for &Integer {
type Output = Integer;
fn div(self, rhs: &i16) -> Self::Output {
Integer::divide_c_long(self, *rhs)
}
}
impl Div<Integer> for i16 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
impl Div<&Integer> for i16 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
impl Div<Integer> for &i16 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
impl Div<&Integer> for &i16 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
impl Div<u16> for Integer {
type Output = Integer;
fn div(mut self, rhs: u16) -> Self::Output {
Integer::divide_c_long_assign(&mut self, rhs);
self
}
}
impl Div<&u16> for Integer {
type Output = Integer;
fn div(mut self, rhs: &u16) -> Self::Output {
Integer::divide_c_long_assign(&mut self, *rhs);
self
}
}
impl Div<u16> for &Integer {
type Output = Integer;
fn div(self, rhs: u16) -> Self::Output {
Integer::divide_c_long(self, rhs)
}
}
impl Div<&u16> for &Integer {
type Output = Integer;
fn div(self, rhs: &u16) -> Self::Output {
Integer::divide_c_long(self, *rhs)
}
}
impl Div<Integer> for u16 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
impl Div<&Integer> for u16 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
impl Div<Integer> for &u16 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
impl Div<&Integer> for &u16 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
impl Div<i32> for Integer {
type Output = Integer;
fn div(mut self, rhs: i32) -> Self::Output {
Integer::divide_c_long_assign(&mut self, rhs);
self
}
}
impl Div<&i32> for Integer {
type Output = Integer;
fn div(mut self, rhs: &i32) -> Self::Output {
Integer::divide_c_long_assign(&mut self, *rhs);
self
}
}
impl Div<i32> for &Integer {
type Output = Integer;
fn div(self, rhs: i32) -> Self::Output {
Integer::divide_c_long(self, rhs)
}
}
impl Div<&i32> for &Integer {
type Output = Integer;
fn div(self, rhs: &i32) -> Self::Output {
Integer::divide_c_long(self, *rhs)
}
}
impl Div<Integer> for i32 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
impl Div<&Integer> for i32 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
impl Div<Integer> for &i32 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
impl Div<&Integer> for &i32 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<u32> for Integer {
type Output = Integer;
fn div(mut self, rhs: u32) -> Self::Output {
Integer::divide_c_long_assign(&mut self, rhs);
self
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<&u32> for Integer {
type Output = Integer;
fn div(mut self, rhs: &u32) -> Self::Output {
Integer::divide_c_long_assign(&mut self, *rhs);
self
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<u32> for &Integer {
type Output = Integer;
fn div(self, rhs: u32) -> Self::Output {
Integer::divide_c_long(self, rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<&u32> for &Integer {
type Output = Integer;
fn div(self, rhs: &u32) -> Self::Output {
Integer::divide_c_long(self, *rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<Integer> for u32 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<&Integer> for u32 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<Integer> for &u32 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<&Integer> for &u32 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<i64> for Integer {
type Output = Integer;
fn div(mut self, rhs: i64) -> Self::Output {
Integer::divide_c_long_assign(&mut self, rhs);
self
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<&i64> for Integer {
type Output = Integer;
fn div(mut self, rhs: &i64) -> Self::Output {
Integer::divide_c_long_assign(&mut self, *rhs);
self
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<i64> for &Integer {
type Output = Integer;
fn div(self, rhs: i64) -> Self::Output {
Integer::divide_c_long(self, rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<&i64> for &Integer {
type Output = Integer;
fn div(self, rhs: &i64) -> Self::Output {
Integer::divide_c_long(self, *rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<Integer> for i64 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<&Integer> for i64 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<Integer> for &i64 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
#[cfg(all(target_pointer_width = "64", not(windows)))]
impl Div<&Integer> for &i64 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<u32> for Integer {
type Output = Integer;
fn div(mut self, rhs: u32) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(rhs));
self
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<&u32> for Integer {
type Output = Integer;
fn div(mut self, rhs: &u32) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(*rhs));
self
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<u32> for &Integer {
type Output = Integer;
fn div(self, rhs: u32) -> Self::Output {
Integer::divide(self, &Integer::from(rhs))
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<&u32> for &Integer {
type Output = Integer;
fn div(self, rhs: &u32) -> Self::Output {
Integer::divide(self, &Integer::from(*rhs))
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<Integer> for u32 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<&Integer> for u32 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<Integer> for &u32 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<&Integer> for &u32 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<i64> for Integer {
type Output = Integer;
fn div(mut self, rhs: i64) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(rhs));
self
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<&i64> for Integer {
type Output = Integer;
fn div(mut self, rhs: &i64) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(*rhs));
self
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<i64> for &Integer {
type Output = Integer;
fn div(self, rhs: i64) -> Self::Output {
Integer::divide(self, &Integer::from(rhs))
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<&i64> for &Integer {
type Output = Integer;
fn div(self, rhs: &i64) -> Self::Output {
Integer::divide(self, &Integer::from(*rhs))
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<Integer> for i64 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<&Integer> for i64 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<Integer> for &i64 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
#[cfg(not(all(target_pointer_width = "64", not(windows))))]
impl Div<&Integer> for &i64 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
impl Div<u64> for Integer {
type Output = Integer;
fn div(mut self, rhs: u64) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(rhs));
self
}
}
impl Div<&u64> for Integer {
type Output = Integer;
fn div(mut self, rhs: &u64) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(*rhs));
self
}
}
impl Div<u64> for &Integer {
type Output = Integer;
fn div(self, rhs: u64) -> Self::Output {
Integer::divide(self, &Integer::from(rhs))
}
}
impl Div<&u64> for &Integer {
type Output = Integer;
fn div(self, rhs: &u64) -> Self::Output {
Integer::divide(self, &Integer::from(*rhs))
}
}
impl Div<Integer> for u64 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
impl Div<&Integer> for u64 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
impl Div<Integer> for &u64 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
impl Div<&Integer> for &u64 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
impl Div<i128> for Integer {
type Output = Integer;
fn div(mut self, rhs: i128) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(rhs));
self
}
}
impl Div<&i128> for Integer {
type Output = Integer;
fn div(mut self, rhs: &i128) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(*rhs));
self
}
}
impl Div<i128> for &Integer {
type Output = Integer;
fn div(self, rhs: i128) -> Self::Output {
Integer::divide(self, &Integer::from(rhs))
}
}
impl Div<&i128> for &Integer {
type Output = Integer;
fn div(self, rhs: &i128) -> Self::Output {
Integer::divide(self, &Integer::from(*rhs))
}
}
impl Div<Integer> for i128 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
impl Div<&Integer> for i128 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
impl Div<Integer> for &i128 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
impl Div<&Integer> for &i128 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}
impl Div<u128> for Integer {
type Output = Integer;
fn div(mut self, rhs: u128) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(rhs));
self
}
}
impl Div<&u128> for Integer {
type Output = Integer;
fn div(mut self, rhs: &u128) -> Self::Output {
Integer::divide_assign(&mut self, &Integer::from(*rhs));
self
}
}
impl Div<u128> for &Integer {
type Output = Integer;
fn div(self, rhs: u128) -> Self::Output {
Integer::divide(self, &Integer::from(rhs))
}
}
impl Div<&u128> for &Integer {
type Output = Integer;
fn div(self, rhs: &u128) -> Self::Output {
Integer::divide(self, &Integer::from(*rhs))
}
}
impl Div<Integer> for u128 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(self), &rhs)
}
}
impl Div<&Integer> for u128 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(self), rhs)
}
}
impl Div<Integer> for &u128 {
type Output = Integer;
fn div(self, rhs: Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), &rhs)
}
}
impl Div<&Integer> for &u128 {
type Output = Integer;
fn div(self, rhs: &Integer) -> Self::Output {
Integer::divide(&Integer::from(*self), rhs)
}
}