document conversions to/from {isize,usize}
This commit is contained in:
parent
e3672475cf
commit
8a13d678b6
|
@ -39,6 +39,13 @@ numeric primitives are implemented. That is, you can use [`From`] or
|
|||
|
||||
## What’s new
|
||||
|
||||
### Version 0.3.3 news (unreleased)
|
||||
|
||||
* Conversions to/from [`isize`] and [`usize`] were added.
|
||||
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
|
||||
### Version 0.3.2 news (2019-02-27)
|
||||
|
||||
* The [`Wrapping`] wrapper was added.
|
||||
|
|
|
@ -5,6 +5,11 @@ modification, are permitted in any medium without royalty provided the
|
|||
copyright notice and this notice are preserved. This file is offered
|
||||
as-is, without any warranty. -->
|
||||
|
||||
Version 0.3.3 (unreleased)
|
||||
==========================
|
||||
|
||||
* Conversions to/from `isize` and `usize` were added.
|
||||
|
||||
Version 0.3.2 (2019-02-27)
|
||||
==========================
|
||||
|
||||
|
|
|
@ -142,7 +142,8 @@ assert_eq!((src >> 4u32).to_fixed::<Dst>(), Dst::from_bits(1));
|
|||
"Creates a fixed-point number from an integer.
|
||||
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
# Panics
|
||||
|
||||
|
@ -172,11 +173,13 @@ assert_eq!(Fix::from_int(",
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
[`wrapping_from_int`]: #method.wrapping_from_int
|
||||
";
|
||||
#[inline]
|
||||
|
@ -195,7 +198,8 @@ assert_eq!(Fix::from_int(",
|
|||
"Converts a fixed-point number of type to an integer.
|
||||
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
Any fractional bits are truncated.
|
||||
|
||||
|
@ -228,11 +232,13 @@ assert_eq!(",
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
[`wrapping_to_int`]: #method.wrapping_to_int
|
||||
";
|
||||
#[inline]
|
||||
|
@ -424,7 +430,8 @@ assert!(Src::max_value().checked_to_fixed::<TooFewIntBits>().is_none());
|
|||
otherwise returns [`None`].
|
||||
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
# Examples
|
||||
|
||||
|
@ -453,11 +460,13 @@ assert!(Fix::checked_from_int(too_small).is_none());
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
";
|
||||
#[inline]
|
||||
pub fn checked_from_int<I>(val: I) -> Option<$Fixed<Frac>>
|
||||
|
@ -473,8 +482,9 @@ assert!(Fix::checked_from_int(too_small).is_none());
|
|||
"Converts a fixed-point number to an integer if it fits,
|
||||
otherwise returns [`None`].
|
||||
|
||||
The integer value can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
Any fractional bits are truncated.
|
||||
|
||||
|
@ -512,11 +522,13 @@ assert!(AllInt::",
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
";
|
||||
#[inline]
|
||||
pub fn checked_to_int<I>(self) -> Option<I>
|
||||
|
@ -690,8 +702,9 @@ assert_eq!(saturated, TooFewIntBits::max_value());
|
|||
"Creates a fixed-point number from an integer, saturating
|
||||
the value if it does not fit.
|
||||
|
||||
The integer value can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
# Examples
|
||||
|
||||
|
@ -719,11 +732,13 @@ assert_eq!(Fix::saturating_from_int(too_small), Fix::min_value());
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
";
|
||||
#[inline]
|
||||
pub fn saturating_from_int<I>(val: I) -> $Fixed<Frac>
|
||||
|
@ -766,8 +781,9 @@ assert_eq!(Fix::saturating_from_int(too_small), Fix::min_value());
|
|||
"Converts a fixed-point number to an integer, saturating
|
||||
the value if it does not fit.
|
||||
|
||||
The integer value can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
Any fractional bits are truncated.
|
||||
|
||||
|
@ -813,11 +829,13 @@ assert_eq!(",
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
";
|
||||
#[inline]
|
||||
pub fn saturating_to_int<I>(self) -> I
|
||||
|
@ -988,8 +1006,9 @@ assert_eq!(Src::max_value().wrapping_to_fixed::<TooFewIntBits>(), wrapped);
|
|||
"Creates a fixed-point number from an integer, wrapping
|
||||
the value on overflow.
|
||||
|
||||
The integer value can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
# Examples
|
||||
|
||||
|
@ -1017,11 +1036,13 @@ assert_eq!(Fix::wrapping_from_int(large), wrapped);
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
";
|
||||
#[inline]
|
||||
pub fn wrapping_from_int<I>(val: I) -> $Fixed<Frac>
|
||||
|
@ -1036,8 +1057,9 @@ assert_eq!(Fix::wrapping_from_int(large), wrapped);
|
|||
"Converts a fixed-point number to an integer, wrapping the
|
||||
value on overflow.
|
||||
|
||||
The integer value can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
Any fractional bits are truncated.
|
||||
|
||||
|
@ -1083,11 +1105,13 @@ assert_eq!(",
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
";
|
||||
#[inline]
|
||||
pub fn wrapping_to_int<I>(self) -> I
|
||||
|
@ -1264,8 +1288,9 @@ Returns a tuple of the fixed-point number and a [`bool`] indicating
|
|||
whether an overflow has occurred. On overflow, the wrapped value is
|
||||
returned.
|
||||
|
||||
The integer value can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
# Examples
|
||||
|
||||
|
@ -1294,11 +1319,13 @@ assert_eq!(Fix::overflowing_from_int(large), (wrapped, true));
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
";
|
||||
#[inline]
|
||||
pub fn overflowing_from_int<I>(val: I) -> ($Fixed<Frac>, bool)
|
||||
|
@ -1339,8 +1366,9 @@ assert_eq!(Fix::overflowing_from_int(large), (wrapped, true));
|
|||
Returns a tuple of the integer and a [`bool`] indicating whether an
|
||||
overflow has occurred. On overflow, the wrapped value is returned.
|
||||
|
||||
The integer value can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
The integer can be of type [`i8`], [`i16`], [`i32`], [`i64`],
|
||||
[`i128`], [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
[`usize`].
|
||||
|
||||
Any fractional bits are truncated.
|
||||
|
||||
|
@ -1383,11 +1411,13 @@ assert_eq!(does_not_fit.overflowing_to_int::<",
|
|||
[`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
[`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
[`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
[`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
[`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
[`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
[`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
[`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
[`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
[`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
";
|
||||
#[inline]
|
||||
pub fn overflowing_to_int<I>(self) -> (I, bool)
|
||||
|
|
|
@ -32,18 +32,21 @@ use {
|
|||
///
|
||||
/// This trait is sealed and cannot be implemented for more types; it
|
||||
/// is implemented for [`i8`], [`i16`], [`i32`], [`i64`], [`i128`],
|
||||
/// [`u8`], [`u16`], [`u32`], [`u64`], and [`u128`].
|
||||
/// [`isize`], [`u8`], [`u16`], [`u32`], [`u64`], [`u128`], and
|
||||
/// [`usize`].
|
||||
///
|
||||
/// [`i128`]: https://doc.rust-lang.org/nightly/std/primitive.i128.html
|
||||
/// [`i16`]: https://doc.rust-lang.org/nightly/std/primitive.i16.html
|
||||
/// [`i32`]: https://doc.rust-lang.org/nightly/std/primitive.i32.html
|
||||
/// [`i64`]: https://doc.rust-lang.org/nightly/std/primitive.i64.html
|
||||
/// [`i8`]: https://doc.rust-lang.org/nightly/std/primitive.i8.html
|
||||
/// [`isize`]: https://doc.rust-lang.org/nightly/std/primitive.isize.html
|
||||
/// [`u128`]: https://doc.rust-lang.org/nightly/std/primitive.u128.html
|
||||
/// [`u16`]: https://doc.rust-lang.org/nightly/std/primitive.u16.html
|
||||
/// [`u32`]: https://doc.rust-lang.org/nightly/std/primitive.u32.html
|
||||
/// [`u64`]: https://doc.rust-lang.org/nightly/std/primitive.u64.html
|
||||
/// [`u8`]: https://doc.rust-lang.org/nightly/std/primitive.u8.html
|
||||
/// [`usize`]: https://doc.rust-lang.org/nightly/std/primitive.usize.html
|
||||
pub trait Int: SealedInt {
|
||||
/// Converts from a fixed-point number.
|
||||
///
|
||||
|
|
Loading…
Reference in New Issue