mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 18:07:58 +00:00
impl Zero and One for fixed point numbers (#8647)
* impl Zero and One for fixed point numbers * update librocksdb-sys to support M1 * fix build * trigger CI
This commit is contained in:
@@ -57,7 +57,7 @@ pub trait FixedPointNumber:
|
||||
+ Saturating + Bounded
|
||||
+ Eq + PartialEq + Ord + PartialOrd
|
||||
+ CheckedSub + CheckedAdd + CheckedMul + CheckedDiv
|
||||
+ Add + Sub + Div + Mul
|
||||
+ Add + Sub + Div + Mul + Zero + One
|
||||
{
|
||||
/// The underlying data type used for this fixed point number.
|
||||
type Inner: Debug + One + CheckedMul + CheckedDiv + FixedPointOperand;
|
||||
@@ -195,21 +195,6 @@ pub trait FixedPointNumber:
|
||||
Self::one().checked_div(&self)
|
||||
}
|
||||
|
||||
/// Returns zero.
|
||||
fn zero() -> Self {
|
||||
Self::from_inner(Self::Inner::zero())
|
||||
}
|
||||
|
||||
/// Checks if the number is zero.
|
||||
fn is_zero(&self) -> bool {
|
||||
self.into_inner() == Self::Inner::zero()
|
||||
}
|
||||
|
||||
/// Returns one.
|
||||
fn one() -> Self {
|
||||
Self::from_inner(Self::DIV)
|
||||
}
|
||||
|
||||
/// Checks if the number is one.
|
||||
fn is_one(&self) -> bool {
|
||||
self.into_inner() == Self::Inner::one()
|
||||
@@ -514,6 +499,22 @@ macro_rules! implement_fixed {
|
||||
}
|
||||
}
|
||||
|
||||
impl Zero for $name {
|
||||
fn zero() -> Self {
|
||||
Self::from_inner(<Self as FixedPointNumber>::Inner::zero())
|
||||
}
|
||||
|
||||
fn is_zero(&self) -> bool {
|
||||
self.into_inner() == <Self as FixedPointNumber>::Inner::zero()
|
||||
}
|
||||
}
|
||||
|
||||
impl One for $name {
|
||||
fn one() -> Self {
|
||||
Self::from_inner(Self::DIV)
|
||||
}
|
||||
}
|
||||
|
||||
impl sp_std::fmt::Debug for $name {
|
||||
#[cfg(feature = "std")]
|
||||
fn fmt(&self, f: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result {
|
||||
|
||||
Reference in New Issue
Block a user