Module malachite_float::conversion::from_primitive_int
source · Expand description
Various functions and implementations of the From
trait for converting a primitive integer
to a Float
.
§from
use malachite_float::Float;
assert_eq!(Float::from(0u32).to_string(), "0.0");
assert_eq!(Float::from(123u32).to_string(), "123.0");
assert_eq!(Float::from(123u32).get_prec(), Some(7));
assert_eq!(Float::from(0i32).to_string(), "0.0");
assert_eq!(Float::from(123i32).to_string(), "123.0");
assert_eq!(Float::from(123i32).get_prec(), Some(7));
assert_eq!(Float::from(-123i32).to_string(), "-123.0");
§from_unsigned_prec
use malachite_float::Float;
use std::cmp::Ordering::*;
let (x, o) = Float::from_unsigned_prec(0u32, 10);
assert_eq!(x.to_string(), "0.0");
assert_eq!(o, Equal);
let (x, o) = Float::from_unsigned_prec(123u32, 20);
assert_eq!(x.to_string(), "123.0");
assert_eq!(x.get_prec(), Some(20));
assert_eq!(o, Equal);
let (x, o) = Float::from_unsigned_prec(123u32, 4);
assert_eq!(x.to_string(), "1.2e2");
assert_eq!(x.get_prec(), Some(4));
assert_eq!(o, Less);
§from_signed_prec
use malachite_float::Float;
use std::cmp::Ordering::*;
let (x, o) = Float::from_signed_prec(0i32, 10);
assert_eq!(x.to_string(), "0.0");
assert_eq!(o, Equal);
let (x, o) = Float::from_signed_prec(123i32, 20);
assert_eq!(x.to_string(), "123.0");
assert_eq!(x.get_prec(), Some(20));
assert_eq!(o, Equal);
let (x, o) = Float::from_signed_prec(123i32, 4);
assert_eq!(x.to_string(), "1.2e2");
assert_eq!(x.get_prec(), Some(4));
assert_eq!(o, Less);
let (x, o) = Float::from_signed_prec(-123i32, 20);
assert_eq!(x.to_string(), "-123.0");
assert_eq!(x.get_prec(), Some(20));
assert_eq!(o, Equal);
let (x, o) = Float::from_signed_prec(-123i32, 4);
assert_eq!(x.to_string(), "-1.2e2");
assert_eq!(x.get_prec(), Some(4));
assert_eq!(o, Greater);
§from_unsigned_prec_round
use malachite_base::rounding_modes::RoundingMode::*;
use malachite_float::Float;
use std::cmp::Ordering::*;
let (x, o) = Float::from_unsigned_prec_round(0u32, 10, Exact);
assert_eq!(x.to_string(), "0.0");
assert_eq!(o, Equal);
let (x, o) = Float::from_unsigned_prec_round(123u32, 20, Exact);
assert_eq!(x.to_string(), "123.0");
assert_eq!(x.get_prec(), Some(20));
assert_eq!(o, Equal);
let (x, o) = Float::from_unsigned_prec_round(123u32, 4, Floor);
assert_eq!(x.to_string(), "1.2e2");
assert_eq!(x.get_prec(), Some(4));
assert_eq!(o, Less);
let (x, o) = Float::from_unsigned_prec_round(123u32, 4, Ceiling);
assert_eq!(x.to_string(), "1.3e2");
assert_eq!(x.get_prec(), Some(4));
assert_eq!(o, Greater);
§from_signed_prec_round
use malachite_base::rounding_modes::RoundingMode::*;
use malachite_float::Float;
use std::cmp::Ordering::*;
let (x, o) = Float::from_signed_prec_round(0i32, 10, Exact);
assert_eq!(x.to_string(), "0.0");
assert_eq!(o, Equal);
let (x, o) = Float::from_signed_prec_round(123i32, 20, Exact);
assert_eq!(x.to_string(), "123.0");
assert_eq!(x.get_prec(), Some(20));
assert_eq!(o, Equal);
let (x, o) = Float::from_signed_prec_round(123i32, 4, Floor);
assert_eq!(x.to_string(), "1.2e2");
assert_eq!(x.get_prec(), Some(4));
assert_eq!(o, Less);
let (x, o) = Float::from_signed_prec_round(123i32, 4, Ceiling);
assert_eq!(x.to_string(), "1.3e2");
assert_eq!(x.get_prec(), Some(4));
assert_eq!(o, Greater);
let (x, o) = Float::from_signed_prec_round(-123i32, 20, Exact);
assert_eq!(x.to_string(), "-123.0");
assert_eq!(x.get_prec(), Some(20));
assert_eq!(o, Equal);
let (x, o) = Float::from_signed_prec_round(-123i32, 4, Floor);
assert_eq!(x.to_string(), "-1.3e2");
assert_eq!(x.get_prec(), Some(4));
assert_eq!(o, Less);
let (x, o) = Float::from_signed_prec_round(-123i32, 4, Ceiling);
assert_eq!(x.to_string(), "-1.2e2");
assert_eq!(x.get_prec(), Some(4));
assert_eq!(o, Greater);