Enum rug::float::Round [−][src]
pub enum Round { Nearest, Zero, Up, Down, // some variants omitted }
Expand description
The rounding methods for floating-point values.
When rounding to the nearest, if the number to be rounded is exactly between two representable numbers, it is rounded to the even one, that is, the one with the least significant bit set to zero.
Examples
use rug::{float::Round, ops::AssignRound, Float}; let mut f4 = Float::new(4); f4.assign_round(10.4, Round::Nearest); assert_eq!(f4, 10); f4.assign_round(10.6, Round::Nearest); assert_eq!(f4, 11); f4.assign_round(-10.7, Round::Zero); assert_eq!(f4, -10); f4.assign_round(10.3, Round::Up); assert_eq!(f4, 11);
Rounding to the nearest will round numbers exactly between two representable numbers to the even one.
use rug::{float::Round, ops::AssignRound, Float}; // 24 is 11000 in binary // 25 is 11001 in binary // 26 is 11010 in binary // 27 is 11011 in binary // 28 is 11100 in binary let mut f4 = Float::new(4); f4.assign_round(25, Round::Nearest); assert_eq!(f4, 24); f4.assign_round(27, Round::Nearest); assert_eq!(f4, 28);
Variants
Round towards the nearest, with ties rounding to even.
Round towards zero.
Round towards plus infinity.
Round towards minus infinity.
Implementations
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for Round
impl UnwindSafe for Round
Blanket Implementations
Mutably borrows from an owned value. Read more
Casts the value.
Casts the value.
Casts the value.
Casts the value.
Casts the value.