Trait rug::ops::MulRound
[−]
[src]
pub trait MulRound<Rhs = Self> { type Round; type Ordering; type Output; fn mul_round(
self,
rhs: Rhs,
round: Self::Round
) -> (Self::Output, Self::Ordering); }
Multiplication with a specified rounding method.
Associated Types
type Round
The rounding method.
type Ordering
The direction from rounding.
type Output
The resulting type after the multiplication.
Required Methods
fn mul_round(
self,
rhs: Rhs,
round: Self::Round
) -> (Self::Output, Self::Ordering)
self,
rhs: Rhs,
round: Self::Round
) -> (Self::Output, Self::Ordering)
Performs the multiplication.
Examples
use rug::Float; use rug::float::Round; use rug::ops::MulRound; use std::cmp::Ordering; // only four significant bits let minus_three = Float::from((-3, 4)); let (f, dir) = minus_three.mul_round(13, Round::Nearest); // -39 rounded down to -40 assert_eq!(f, -40); assert_eq!(dir, Ordering::Less);
Implementors
impl<'a> MulRound<&'a Float> for Float
impl MulRound<Float> for Float
impl<'a> MulRound<Float> for &'a Float
impl<'a> MulRound<&'a Integer> for Float
impl MulRound<Integer> for Float
impl<'a> MulRound<Float> for &'a Integer
impl MulRound<Float> for Integer
impl<'a> MulRound<&'a Rational> for Float
impl MulRound<Rational> for Float
impl<'a> MulRound<Float> for &'a Rational
impl MulRound<Float> for Rational
impl MulRound<i32> for Float
impl MulRound<Float> for i32
impl MulRound<u32> for Float
impl MulRound<Float> for u32
impl MulRound<f32> for Float
impl MulRound<Float> for f32
impl MulRound<f64> for Float
impl MulRound<Float> for f64
impl<'a> MulRound<&'a Complex> for Complex
impl MulRound<Complex> for Complex
impl<'a> MulRound<Complex> for &'a Complex
impl<'a> MulRound<&'a Float> for Complex
impl MulRound<Float> for Complex
impl<'a> MulRound<Complex> for &'a Float
impl MulRound<Complex> for Float
impl MulRound<u32> for Complex
impl MulRound<Complex> for u32
impl MulRound<i32> for Complex
impl MulRound<Complex> for i32