mpdec 4.0.1

wrapper for libmpdec math library
Documentation
use super::gen_decimal_qoperations;

use crate::{Decimal, context::get_context, error::MPDecimalError};

use std::ops::{Div, DivAssign};

use mpdec_sys::{mpd_ssize_t, mpd_uint_t};

impl Decimal {
    gen_decimal_qoperations!(
        checked_div(Decimal : get_inner) => mpd_qdiv;
        checked_div_i32(i32 : clone) => mpd_qdiv_i32;
        checked_div_i64(i64 : clone) => mpd_qdiv_i64;
        checked_div_ssize(mpd_ssize_t : clone) => mpd_qdiv_ssize;
        checked_div_u32(u32 : clone) => mpd_qdiv_u32;
        checked_div_u64(u64 : clone) => mpd_qdiv_u64;
        checked_div_uint(mpd_uint_t : clone) => mpd_qdiv_uint;
    );
}

impl Div<Decimal> for Decimal {
    type Output = Decimal;
    fn div(self, rhs: Decimal) -> Self::Output {
        self.checked_div(&rhs).unwrap()
    }
}
impl DivAssign<Decimal> for Decimal {
    fn div_assign(&mut self, rhs: Decimal) {
        *self = self.checked_div(&rhs).unwrap();
    }
}

impl Div<i32> for Decimal {
    type Output = Decimal;
    fn div(self, rhs: i32) -> Self::Output {
        self.checked_div_i32(&rhs).unwrap()
    }
}
impl DivAssign<i32> for Decimal {
    fn div_assign(&mut self, rhs: i32) {
        *self = self.checked_div_i32(&rhs).unwrap()
    }
}

impl Div<i64> for Decimal {
    type Output = Decimal;
    fn div(self, rhs: i64) -> Self::Output {
        self.checked_div_i64(&rhs).unwrap()
    }
}
impl DivAssign<i64> for Decimal {
    fn div_assign(&mut self, rhs: i64) {
        *self = self.checked_div_i64(&rhs).unwrap()
    }
}

impl Div<u32> for Decimal {
    type Output = Decimal;
    fn div(self, rhs: u32) -> Self::Output {
        self.checked_div_u32(&rhs).unwrap()
    }
}
impl DivAssign<u32> for Decimal {
    fn div_assign(&mut self, rhs: u32) {
        *self = self.checked_div_u32(&rhs).unwrap()
    }
}

impl Div<u64> for Decimal {
    type Output = Decimal;
    fn div(self, rhs: u64) -> Self::Output {
        self.checked_div_u64(&rhs).unwrap()
    }
}
impl DivAssign<u64> for Decimal {
    fn div_assign(&mut self, rhs: u64) {
        *self = self.checked_div_u64(&rhs).unwrap();
    }
}