pub struct UncToken { /* private fields */ }
Implementations§
source§impl UncToken
impl UncToken
sourcepub const fn from_attounc(inner: u128) -> Self
pub const fn from_attounc(inner: u128) -> Self
from_attounc
is a function that takes value by a number of atto-unc.
§Examples
use unc_token::UncToken;
assert_eq!( UncToken::from_attounc(10u128.pow(21)), UncToken::from_milliunc(1))
sourcepub const fn from_milliunc(inner: u128) -> Self
pub const fn from_milliunc(inner: u128) -> Self
from_milliunc
is a function that takes value by a number of mili-unc and converts it to an equivalent to the atto-unc.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_milliunc(1), UncToken::from_attounc(10u128.pow(21)))
sourcepub const fn from_unc(inner: u128) -> Self
pub const fn from_unc(inner: u128) -> Self
from_unc
is a function that takes value by a number of unc and converts it to an equivalent to the atto-unc.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_unc(1), UncToken::from_attounc(10u128.pow(24)))
sourcepub const fn as_near(&self) -> u128
pub const fn as_near(&self) -> u128
as_near
is a function that converts number of atto-unc to an equivalent to the unc.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_attounc(10u128.pow(24)).as_near(), 1)
sourcepub const fn as_millinear(&self) -> u128
pub const fn as_millinear(&self) -> u128
as_millinear
is a function that converts number of atto-unc to an equivalent to the mili-unc.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_attounc(10u128.pow(21)).as_millinear(), 1)
sourcepub const fn as_attounc(&self) -> u128
pub const fn as_attounc(&self) -> u128
as_attounc
is a function that shows a number of atto-unc.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_attounc(10).as_attounc(), 10)
sourcepub const fn is_zero(&self) -> bool
pub const fn is_zero(&self) -> bool
is_zero
is a boolian function that checks UncToken
if a UncToken
inner is zero, returns true.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_attounc(0).is_zero(), true)
sourcepub const fn checked_add(self, rhs: Self) -> Option<Self>
pub const fn checked_add(self, rhs: Self) -> Option<Self>
Checked integer addition. Computes self + rhs, returning None if overflow occurred.
§Examples
use unc_token::UncToken;
use std::u128;
assert_eq!(UncToken::from_attounc(u128::MAX -2).checked_add(UncToken::from_attounc(2)), Some(UncToken::from_attounc(u128::MAX)));
assert_eq!(UncToken::from_attounc(u128::MAX -2).checked_add(UncToken::from_attounc(3)), None);
sourcepub const fn checked_sub(self, rhs: Self) -> Option<Self>
pub const fn checked_sub(self, rhs: Self) -> Option<Self>
Checked integer subtraction. Computes self - rhs, returning None if overflow occurred.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_attounc(2).checked_sub(UncToken::from_attounc(2)), Some(UncToken::from_attounc(0)));
assert_eq!(UncToken::from_attounc(2).checked_sub(UncToken::from_attounc(3)), None);
sourcepub const fn checked_mul(self, rhs: u128) -> Option<Self>
pub const fn checked_mul(self, rhs: u128) -> Option<Self>
Checked integer multiplication. Computes self * rhs, returning None if overflow occurred.
§Examples
use unc_token::UncToken;
use std::u128;
assert_eq!(UncToken::from_attounc(2).checked_mul(2), Some(UncToken::from_attounc(4)));
assert_eq!(UncToken::from_attounc(u128::MAX).checked_mul(2), None)
sourcepub const fn checked_div(self, rhs: u128) -> Option<Self>
pub const fn checked_div(self, rhs: u128) -> Option<Self>
Checked integer division. Computes self / rhs, returning None if rhs == 0.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_attounc(10).checked_div(2), Some(UncToken::from_attounc(5)));
assert_eq!(UncToken::from_attounc(2).checked_div(0), None);
sourcepub const fn saturating_add(self, rhs: Self) -> Self
pub const fn saturating_add(self, rhs: Self) -> Self
Saturating integer addition. Computes self + rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_attounc(5).saturating_add(UncToken::from_attounc(5)), UncToken::from_attounc(10));
assert_eq!(UncToken::from_attounc(u128::MAX).saturating_add(UncToken::from_attounc(1)), UncToken::from_attounc(u128::MAX));
sourcepub const fn saturating_sub(self, rhs: Self) -> Self
pub const fn saturating_sub(self, rhs: Self) -> Self
Saturating integer subtraction. Computes self - rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_attounc(5).saturating_sub(UncToken::from_attounc(2)), UncToken::from_attounc(3));
assert_eq!(UncToken::from_attounc(1).saturating_sub(UncToken::from_attounc(2)), UncToken::from_attounc(0));
sourcepub const fn saturating_mul(self, rhs: u128) -> Self
pub const fn saturating_mul(self, rhs: u128) -> Self
Saturating integer multiplication. Computes self * rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use unc_token::UncToken;
use std::u128;
assert_eq!(UncToken::from_attounc(2).saturating_mul(5), UncToken::from_attounc(10));
assert_eq!(UncToken::from_attounc(u128::MAX).saturating_mul(2), UncToken::from_attounc(u128::MAX));
sourcepub const fn saturating_div(self, rhs: u128) -> Self
pub const fn saturating_div(self, rhs: u128) -> Self
Saturating integer division. Computes self / rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use unc_token::UncToken;
assert_eq!(UncToken::from_attounc(10).saturating_div(2), UncToken::from_attounc(5));
assert_eq!(UncToken::from_attounc(10).saturating_div(0), UncToken::from_attounc(0))
Trait Implementations§
source§impl Display for UncToken
impl Display for UncToken
UncToken Display implementation rounds up the token amount to the relevant precision point. There are 4 breakpoints:
- exactly 0 UNC
- <0.001 UNC
- 0.001 - 0.999 UNC (uses 3 digits after the floating point)
-
1 UNC (uses 2 digits after the floating point)
source§impl Ord for UncToken
impl Ord for UncToken
source§impl PartialEq for UncToken
impl PartialEq for UncToken
source§impl PartialOrd for UncToken
impl PartialOrd for UncToken
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more