pub(crate) type SpanSecondsOrLower = ri64<{ _ }, { _ }>;
Expand description
The range of allowable seconds and lower in a span, in units of seconds.
This corresponds to when the min/max of seconds, milliseconds, microseconds and nanoseconds are added together in a span. This is useful for describing the limit on the total number of possible seconds when all of these units are combined. This is necessary as part of printing/parsing spans because the ISO 8601 duration format doesn’t support individual millisecond, microsecond and nanosecond components. So they all need to be smushed into seconds and a possible fractional part.
Aliased Type§
struct SpanSecondsOrLower {
pub(crate) val: i64,
pub(crate) min: i64,
pub(crate) max: i64,
}
Fields§
§val: i64
The actual value of the integer.
Callers should not access this directly. There are some very rare cases where algorithms are too difficult to express on ranged integers, and it’s useful to be able to reach inside and access the raw value directly. (For example, the conversions between Unix epoch day and Gregorian date.)
min: i64
The minimum possible value computed so far.
This value is only present when debug_assertions
are enabled.
In that case, it is used to ensure the minimum possible value
when the integer is actually observed (or converted) is still
within the legal range.
Callers should not access this directly. There are some very rare cases where algorithms are too difficult to express on ranged integers, and it’s useful to be able to reach inside and access the raw value directly. (For example, the conversions between Unix epoch day and Gregorian date.)
max: i64
The maximum possible value computed so far.
This value is only present when debug_assertions
are enabled.
In that case, it is used to ensure the maximum possible value
when the integer is actually observed (or converted) is still
within the legal range.
Callers should not access this directly. There are some very rare cases where algorithms are too difficult to express on ranged integers, and it’s useful to be able to reach inside and access the raw value directly. (For example, the conversions between Unix epoch day and Gregorian date.)
Implementations
Source§impl<const MIN: i128, const MAX: i128> ri64<MIN, MAX>
impl<const MIN: i128, const MAX: i128> ri64<MIN, MAX>
Sourceconst PRIMITIVE_MIN: i128 = -9_223_372_036_854_775_808i128
const PRIMITIVE_MIN: i128 = -9_223_372_036_854_775_808i128
These are the absolute min/max values for the integer type being used.
const PRIMITIVE_MAX: i128 = 9_223_372_036_854_775_807i128
Sourceconst IS_PRIMITIVE: bool
const IS_PRIMITIVE: bool
When true, this range integer has bounds precisely equivalent to its underlying primitive representation.
pub(crate) const MAX: i128 = MAX
Sourcepub(crate) const MIN_REPR: i64
pub(crate) const MIN_REPR: i64
The min/max values of this type, represented in their primitive form for easy comparisons with incoming values.
pub(crate) const MAX_REPR: i64
pub(crate) const MAX_SELF: Self
pub(crate) const MAX_CONST: Constant
pub(crate) fn error(what: &'static str, given: i64) -> Error
pub(crate) fn new(val: impl TryInto<i64>) -> Option<Self>
Sourcepub(crate) const fn new_const(val: i64) -> Option<Self>
pub(crate) const fn new_const(val: i64) -> Option<Self>
Like new
, but monomorphic and works in a const
context.
pub(crate) fn try_new( what: &'static str, val: impl Into<i64>, ) -> Result<Self, Error>
pub(crate) fn try_new128( what: &'static str, val: impl Into<i128>, ) -> Result<Self, Error>
pub(crate) fn constrain(val: impl Into<i64>) -> Self
pub(crate) const fn new_unchecked(val: i64) -> Self
pub(crate) const fn N<const VAL: i64>() -> Self
pub(crate) const fn N128<const VAL: i128>() -> Self
pub(crate) const fn V<const VAL: i64, const START: i64, const END: i64>() -> Self
pub(crate) const fn contains(val: i64) -> bool
pub(crate) fn vary<const N: usize, const MIN2: i128, const MAX2: i128>( numbers: [Self; N], with: impl Fn([Self; N]) -> ri64<MIN2, MAX2>, ) -> ri64<MIN2, MAX2>
pub(crate) fn vary_many<const N: usize, const M: usize, const MIN2: i128, const MAX2: i128>( numbers: [Self; N], with: impl Fn([Self; N]) -> [ri64<MIN2, MAX2>; M], ) -> [ri64<MIN2, MAX2>; M]
pub(crate) fn get(self) -> i64
Sourcepub(crate) const fn get_unchecked(self) -> i64
pub(crate) const fn get_unchecked(self) -> i64
Returns the underlying value without checking whether it’s in bounds or not.
This should generally be avoided as it circumvents the
protections of this type. It is sometimes useful in cases
where the bounds are known not to matter. For example, in
producing an error message for checked arithmetic. It’s also
good to use this in Debug
impls for higher level types,
otherwise printing the debug representation of a type will fail
if a ranged integer is out of bounds. (And this is annoying.)
Sourcepub(crate) fn to_error_with_bounds(
self,
what: &'static str,
min: impl Into<i128>,
max: impl Into<i128>,
) -> Error
pub(crate) fn to_error_with_bounds( self, what: &'static str, min: impl Into<i128>, max: impl Into<i128>, ) -> Error
Turns this integer into an error.
This is useful because it will use the integer’s value even if it falls outside of the bounds of this type.
Callers can also use this routine to set custom context dependent bounds. For example, when the day of the month is out of bounds. The maximum value can vary based on the month (and year).
pub(crate) fn abs(self) -> Self
pub(crate) fn signum(self) -> ri64<-1, 1>
pub(crate) fn min(self, other: impl RInto<Self>) -> Self
pub(crate) fn max(self, other: impl RInto<Self>) -> Self
pub(crate) fn clamp(self, min: impl RInto<Self>, max: impl RInto<Self>) -> Self
pub(crate) fn div_ceil(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn div_floor(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn rem_ceil(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn rem_floor(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn try_checked_add( self, what: &'static str, rhs: impl RInto<Self>, ) -> Result<Self, Error>
pub(crate) fn try_checked_sub( self, what: &'static str, rhs: impl RInto<Self>, ) -> Result<Self, Error>
pub(crate) fn try_checked_mul( self, what: &'static str, rhs: impl RInto<Self>, ) -> Result<Self, Error>
pub(crate) fn checked_add(self, rhs: impl RInto<Self>) -> Option<Self>
pub(crate) fn checked_sub(self, rhs: impl RInto<Self>) -> Option<Self>
pub(crate) fn checked_mul(self, rhs: impl RInto<Self>) -> Option<Self>
pub(crate) fn wrapping_add(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn wrapping_sub(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn wrapping_mul(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn saturating_add(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn saturating_sub(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn saturating_mul(self, rhs: impl RInto<Self>) -> Self
pub(crate) fn debug(self) -> RangedDebug<MIN, MAX>
Trait Implementations
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Add<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN: i128, const MAX: i128> AddAssign<Constant> for ri64<MIN, MAX>
impl<const MIN: i128, const MAX: i128> AddAssign<Constant> for ri64<MIN, MAX>
Source§fn add_assign(&mut self, rhs: Constant)
fn add_assign(&mut self, rhs: Constant)
+=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn add_assign(&mut self, rhs: ri128<MIN1, MAX1>)
fn add_assign(&mut self, rhs: ri128<MIN1, MAX1>)
+=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn add_assign(&mut self, rhs: ri16<MIN1, MAX1>)
fn add_assign(&mut self, rhs: ri16<MIN1, MAX1>)
+=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn add_assign(&mut self, rhs: ri32<MIN1, MAX1>)
fn add_assign(&mut self, rhs: ri32<MIN1, MAX1>)
+=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§fn add_assign(&mut self, rhs: ri64<MIN2, MAX2>)
fn add_assign(&mut self, rhs: ri64<MIN2, MAX2>)
+=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> AddAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn add_assign(&mut self, rhs: ri8<MIN1, MAX1>)
fn add_assign(&mut self, rhs: ri8<MIN1, MAX1>)
+=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Div<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN: i128, const MAX: i128> DivAssign<Constant> for ri64<MIN, MAX>
impl<const MIN: i128, const MAX: i128> DivAssign<Constant> for ri64<MIN, MAX>
Source§fn div_assign(&mut self, rhs: Constant)
fn div_assign(&mut self, rhs: Constant)
/=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn div_assign(&mut self, rhs: ri128<MIN1, MAX1>)
fn div_assign(&mut self, rhs: ri128<MIN1, MAX1>)
/=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn div_assign(&mut self, rhs: ri16<MIN1, MAX1>)
fn div_assign(&mut self, rhs: ri16<MIN1, MAX1>)
/=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn div_assign(&mut self, rhs: ri32<MIN1, MAX1>)
fn div_assign(&mut self, rhs: ri32<MIN1, MAX1>)
/=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§fn div_assign(&mut self, rhs: ri64<MIN2, MAX2>)
fn div_assign(&mut self, rhs: ri64<MIN2, MAX2>)
/=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> DivAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn div_assign(&mut self, rhs: ri8<MIN1, MAX1>)
fn div_assign(&mut self, rhs: ri8<MIN1, MAX1>)
/=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Mul<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN: i128, const MAX: i128> MulAssign<Constant> for ri64<MIN, MAX>
impl<const MIN: i128, const MAX: i128> MulAssign<Constant> for ri64<MIN, MAX>
Source§fn mul_assign(&mut self, rhs: Constant)
fn mul_assign(&mut self, rhs: Constant)
*=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn mul_assign(&mut self, rhs: ri128<MIN1, MAX1>)
fn mul_assign(&mut self, rhs: ri128<MIN1, MAX1>)
*=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn mul_assign(&mut self, rhs: ri16<MIN1, MAX1>)
fn mul_assign(&mut self, rhs: ri16<MIN1, MAX1>)
*=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn mul_assign(&mut self, rhs: ri32<MIN1, MAX1>)
fn mul_assign(&mut self, rhs: ri32<MIN1, MAX1>)
*=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§fn mul_assign(&mut self, rhs: ri64<MIN2, MAX2>)
fn mul_assign(&mut self, rhs: ri64<MIN2, MAX2>)
*=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> MulAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn mul_assign(&mut self, rhs: ri8<MIN1, MAX1>)
fn mul_assign(&mut self, rhs: ri8<MIN1, MAX1>)
*=
operation. Read moreSource§impl<const MIN: i128, const MAX: i128> Ord for ri64<MIN, MAX>
impl<const MIN: i128, const MAX: i128> Ord for ri64<MIN, MAX>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialEq<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN: i128, const MAX: i128> PartialOrd<Constant> for ri64<MIN, MAX>
impl<const MIN: i128, const MAX: i128> PartialOrd<Constant> for ri64<MIN, MAX>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> PartialOrd<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri64<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri64<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RFrom<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Rem<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN: i128, const MAX: i128> RemAssign<Constant> for ri64<MIN, MAX>
impl<const MIN: i128, const MAX: i128> RemAssign<Constant> for ri64<MIN, MAX>
Source§fn rem_assign(&mut self, rhs: Constant)
fn rem_assign(&mut self, rhs: Constant)
%=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn rem_assign(&mut self, rhs: ri128<MIN1, MAX1>)
fn rem_assign(&mut self, rhs: ri128<MIN1, MAX1>)
%=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn rem_assign(&mut self, rhs: ri16<MIN1, MAX1>)
fn rem_assign(&mut self, rhs: ri16<MIN1, MAX1>)
%=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn rem_assign(&mut self, rhs: ri32<MIN1, MAX1>)
fn rem_assign(&mut self, rhs: ri32<MIN1, MAX1>)
%=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§fn rem_assign(&mut self, rhs: ri64<MIN2, MAX2>)
fn rem_assign(&mut self, rhs: ri64<MIN2, MAX2>)
%=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> RemAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn rem_assign(&mut self, rhs: ri8<MIN1, MAX1>)
fn rem_assign(&mut self, rhs: ri8<MIN1, MAX1>)
%=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> Sub<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§impl<const MIN: i128, const MAX: i128> SubAssign<Constant> for ri64<MIN, MAX>
impl<const MIN: i128, const MAX: i128> SubAssign<Constant> for ri64<MIN, MAX>
Source§fn sub_assign(&mut self, rhs: Constant)
fn sub_assign(&mut self, rhs: Constant)
-=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri128<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn sub_assign(&mut self, rhs: ri128<MIN1, MAX1>)
fn sub_assign(&mut self, rhs: ri128<MIN1, MAX1>)
-=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri16<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn sub_assign(&mut self, rhs: ri16<MIN1, MAX1>)
fn sub_assign(&mut self, rhs: ri16<MIN1, MAX1>)
-=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri32<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn sub_assign(&mut self, rhs: ri32<MIN1, MAX1>)
fn sub_assign(&mut self, rhs: ri32<MIN1, MAX1>)
-=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri64<MIN2, MAX2>> for ri64<MIN1, MAX1>
Source§fn sub_assign(&mut self, rhs: ri64<MIN2, MAX2>)
fn sub_assign(&mut self, rhs: ri64<MIN2, MAX2>)
-=
operation. Read moreSource§impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
impl<const MIN1: i128, const MAX1: i128, const MIN2: i128, const MAX2: i128> SubAssign<ri8<MIN1, MAX1>> for ri64<MIN2, MAX2>
Source§fn sub_assign(&mut self, rhs: ri8<MIN1, MAX1>)
fn sub_assign(&mut self, rhs: ri8<MIN1, MAX1>)
-=
operation. Read more