Trait fixnum::ops::RoundingDiv
source · [−]pub trait RoundingDiv<Rhs = Self> {
type Output;
type Error;
fn rdiv(
self,
rhs: Rhs,
mode: RoundMode
) -> Result<Self::Output, Self::Error>;
}
Expand description
Rounding division.
Required Associated Types
Usually ArithmeticError
.
Required Methods
Checked rounded division. Returns Err
on overflow or attempt to divide by zero.
Because of provided RoundMode
it’s possible to perform across the FixedPoint
values.
use fixnum::{FixedPoint, typenum::U9, ops::{Zero, RoundingDiv, RoundMode::*}};
type Amount = FixedPoint<i64, U9>;
let a: Amount = "0.000000001".parse()?;
let b: Amount = "1000000000".parse()?;
// 1e-9 / (Ceil) 1e9 = 1e-9
assert_eq!(a.rdiv(b, Ceil)?, a);
// 1e-9 / (Floor) 1e9 = 0
assert_eq!(a.rdiv(b, Floor)?, Amount::ZERO);
Implementations on Foreign Types
sourceimpl RoundingDiv<i8> for i8
impl RoundingDiv<i8> for i8
sourceimpl RoundingDiv<i16> for i16
impl RoundingDiv<i16> for i16
sourceimpl RoundingDiv<i32> for i32
impl RoundingDiv<i32> for i32
sourceimpl RoundingDiv<i64> for i64
impl RoundingDiv<i64> for i64
sourceimpl RoundingDiv<i128> for i128
impl RoundingDiv<i128> for i128
sourceimpl<P: Precision> RoundingDiv<FixedPoint<i16, P>> for i16
Available on crate feature i16
only.
impl<P: Precision> RoundingDiv<FixedPoint<i16, P>> for i16
Available on crate feature
i16
only.type Output = FixedPoint<i16, P>
type Error = ArithmeticError
fn rdiv(
self,
rhs: FixedPoint<i16, P>,
mode: RoundMode
) -> Result<FixedPoint<i16, P>, ArithmeticError>
sourceimpl<P: Precision> RoundingDiv<FixedPoint<i32, P>> for i32
Available on crate feature i32
only.
impl<P: Precision> RoundingDiv<FixedPoint<i32, P>> for i32
Available on crate feature
i32
only.type Output = FixedPoint<i32, P>
type Error = ArithmeticError
fn rdiv(
self,
rhs: FixedPoint<i32, P>,
mode: RoundMode
) -> Result<FixedPoint<i32, P>, ArithmeticError>
sourceimpl<P: Precision> RoundingDiv<FixedPoint<i64, P>> for i64
Available on crate feature i64
only.
impl<P: Precision> RoundingDiv<FixedPoint<i64, P>> for i64
Available on crate feature
i64
only.type Output = FixedPoint<i64, P>
type Error = ArithmeticError
fn rdiv(
self,
rhs: FixedPoint<i64, P>,
mode: RoundMode
) -> Result<FixedPoint<i64, P>, ArithmeticError>
sourceimpl<P: Precision> RoundingDiv<FixedPoint<i128, P>> for i128
Available on crate feature i128
only.
impl<P: Precision> RoundingDiv<FixedPoint<i128, P>> for i128
Available on crate feature
i128
only.type Output = FixedPoint<i128, P>
type Error = ArithmeticError
fn rdiv(
self,
rhs: FixedPoint<i128, P>,
mode: RoundMode
) -> Result<FixedPoint<i128, P>, ArithmeticError>
Implementors
sourceimpl<P: Precision> RoundingDiv<i16> for FixedPoint<i16, P>
Available on crate feature i16
only.
impl<P: Precision> RoundingDiv<i16> for FixedPoint<i16, P>
Available on crate feature
i16
only.type Output = FixedPoint<i16, P>
type Error = ArithmeticError
sourceimpl<P: Precision> RoundingDiv<i32> for FixedPoint<i32, P>
Available on crate feature i32
only.
impl<P: Precision> RoundingDiv<i32> for FixedPoint<i32, P>
Available on crate feature
i32
only.type Output = FixedPoint<i32, P>
type Error = ArithmeticError
sourceimpl<P: Precision> RoundingDiv<i64> for FixedPoint<i64, P>
Available on crate feature i64
only.
impl<P: Precision> RoundingDiv<i64> for FixedPoint<i64, P>
Available on crate feature
i64
only.type Output = FixedPoint<i64, P>
type Error = ArithmeticError
sourceimpl<P: Precision> RoundingDiv<i128> for FixedPoint<i128, P>
Available on crate feature i128
only.
impl<P: Precision> RoundingDiv<i128> for FixedPoint<i128, P>
Available on crate feature
i128
only.type Output = FixedPoint<i128, P>
type Error = ArithmeticError
sourceimpl<P: Precision> RoundingDiv<FixedPoint<i16, P>> for FixedPoint<i16, P>
Available on crate feature i16
only.
impl<P: Precision> RoundingDiv<FixedPoint<i16, P>> for FixedPoint<i16, P>
Available on crate feature
i16
only.type Output = FixedPoint<i16, P>
type Error = ArithmeticError
sourceimpl<P: Precision> RoundingDiv<FixedPoint<i32, P>> for FixedPoint<i32, P>
Available on crate feature i32
only.
impl<P: Precision> RoundingDiv<FixedPoint<i32, P>> for FixedPoint<i32, P>
Available on crate feature
i32
only.type Output = FixedPoint<i32, P>
type Error = ArithmeticError
sourceimpl<P: Precision> RoundingDiv<FixedPoint<i64, P>> for FixedPoint<i64, P>
Available on crate feature i64
only.
impl<P: Precision> RoundingDiv<FixedPoint<i64, P>> for FixedPoint<i64, P>
Available on crate feature
i64
only.type Output = FixedPoint<i64, P>
type Error = ArithmeticError
sourceimpl<P: Precision> RoundingDiv<FixedPoint<i128, P>> for FixedPoint<i128, P>
Available on crate feature i128
only.
impl<P: Precision> RoundingDiv<FixedPoint<i128, P>> for FixedPoint<i128, P>
Available on crate feature
i128
only.