Module malachite_float::conversion::from_primitive_float
source · Expand description
Various functions and implementations of the From
trait for converting a primitive float to
a Float
.
§from
use malachite_base::num::basic::traits::NegativeInfinity;
use malachite_float::Float;
assert_eq!(Float::from(f64::NAN).to_string(), "NaN");
assert_eq!(Float::from(f64::INFINITY).to_string(), "Infinity");
assert_eq!(Float::from(f64::NEGATIVE_INFINITY).to_string(), "-Infinity");
assert_eq!(Float::from(0.0).to_string(), "0.0");
assert_eq!(Float::from(-0.0).to_string(), "-0.0");
assert_eq!(Float::from(123.0).to_string(), "123.0");
assert_eq!(Float::from(-123.0).to_string(), "-123.0");
§from_primitive_float_prec
use malachite_float::Float;
use std::cmp::Ordering::*;
let (x, o) = Float::from_primitive_float_prec(f64::NAN, 4);
assert_eq!(x.to_string(), "NaN");
assert_eq!(o, Equal);
let (x, o) = Float::from_primitive_float_prec(1.0 / 3.0, 4);
assert_eq!(x.to_string(), "0.34");
assert_eq!(o, Greater);
let (x, o) = Float::from_primitive_float_prec(123.0, 4);
assert_eq!(x.to_string(), "1.2e2");
assert_eq!(o, Less);
§from_primitive_float_prec_round
use malachite_base::rounding_modes::RoundingMode::*;
use malachite_float::Float;
use std::cmp::Ordering::*;
let (x, o) = Float::from_primitive_float_prec_round(f64::NAN, 4, Floor);
assert_eq!(x.to_string(), "NaN");
assert_eq!(o, Equal);
let (x, o) = Float::from_primitive_float_prec_round(1.0 / 3.0, 4, Floor);
assert_eq!(x.to_string(), "0.31");
assert_eq!(o, Less);
let (x, o) = Float::from_primitive_float_prec_round(1.0 / 3.0, 4, Ceiling);
assert_eq!(x.to_string(), "0.34");
assert_eq!(o, Greater);
let (x, o) = Float::from_primitive_float_prec_round(1.0 / 3.0, 4, Nearest);
assert_eq!(x.to_string(), "0.34");
assert_eq!(o, Greater);