2 releases
0.1.4 | Oct 7, 2023 |
---|---|
0.1.0 | Oct 7, 2023 |
#1073 in Encoding
21 downloads per month
Used in auburn
18KB
283 lines
round-to
Round floating point to integer.
Usage
You can round to i32
and i64
explicitly:
use round_to::*;
assert_eq!(0.4.round_to_i32(), 0);
assert_eq!(0.5.round_to_i64(), 1);
or implicitly to i8
, i16
, i32
, i64
, i128
, isize
, u8
, u16
, u32
, u64
, u128
, or usize
:
use round_to::*;
let a: i8 = 0.4.round_to();
assert_eq!(a, 0);
using these modes:
use round_to::*;
assert_eq!(0.5.round_to_i32(), 1);
assert_eq!(0.5.floor_to_i32(), 0);
assert_eq!(0.5.ceil_to_i32(), 1);
Implementation
As of now, everything is implemented using round
, floor
, and ceil
.
When round_ties_even
is resolved, this crate will elect to use it instead.
In the future, optimized implementations may be added.