pub struct NearGas { /* private fields */ }Implementations§
Source§impl NearGas
impl NearGas
Sourcepub const fn from_tgas(inner: u64) -> NearGas
pub const fn from_tgas(inner: u64) -> NearGas
Creates a new NearGas from the specified number of whole tera Gas.
§Examples
use near_gas::NearGas;
let tera_gas = NearGas::from_tgas(5);
assert_eq!(tera_gas.as_gas(), 5 * 1_000_000_000_000);Sourcepub const fn from_ggas(inner: u64) -> NearGas
pub const fn from_ggas(inner: u64) -> NearGas
Creates a new NearGas from the specified number of whole giga Gas.
§Examples
use near_gas::NearGas;
let giga_gas = NearGas::from_ggas(5);
assert_eq!(giga_gas.as_gas(), 5 * 1_000_000_000);Sourcepub const fn from_gas(inner: u64) -> NearGas
pub const fn from_gas(inner: u64) -> NearGas
Creates a new NearGas from the specified number of whole Gas.
§Examples
use near_gas::NearGas;
let gas = NearGas::from_gas(5 * 1_000_000_000_000);
assert_eq!(gas.as_tgas(), 5);Sourcepub const fn as_gas(self) -> u64
pub const fn as_gas(self) -> u64
Returns the total number of whole Gas contained by this NearGas.
§Examples
use near_gas::NearGas;
let neargas = NearGas::from_gas(12345);
assert_eq!(neargas.as_gas(), 12345);Sourcepub const fn as_ggas(self) -> u64
pub const fn as_ggas(self) -> u64
Returns the total number of a whole part of giga Gas contained by this NearGas.
§Examples
use near_gas::NearGas;
let neargas = NearGas::from_gas(1 * 1_000_000_000);
assert_eq!(neargas.as_ggas(), 1);Sourcepub const fn as_tgas(self) -> u64
pub const fn as_tgas(self) -> u64
Returns the total number of a whole part of tera Gas contained by this NearGas.
§Examples
use near_gas::NearGas;
let neargas = NearGas::from_gas(1 * 1_000_000_000_000);
assert_eq!(neargas.as_tgas(), 1);Sourcepub const fn checked_add(self, rhs: NearGas) -> Option<NearGas>
pub const fn checked_add(self, rhs: NearGas) -> Option<NearGas>
Checked integer addition. Computes self + rhs, returning None if overflow occurred.
§Examples
use near_gas::NearGas;
use std::u64;
assert_eq!(NearGas::from_gas(u64::MAX -2).checked_add(NearGas::from_gas(2)), Some(NearGas::from_gas(u64::MAX)));
assert_eq!(NearGas::from_gas(u64::MAX -2).checked_add(NearGas::from_gas(3)), None);Sourcepub const fn checked_sub(self, rhs: NearGas) -> Option<NearGas>
pub const fn checked_sub(self, rhs: NearGas) -> Option<NearGas>
Checked integer subtraction. Computes self - rhs, returning None if overflow occurred.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(2).checked_sub(NearGas::from_gas(2)), Some(NearGas::from_gas(0)));
assert_eq!(NearGas::from_gas(2).checked_sub(NearGas::from_gas(3)), None);Sourcepub const fn checked_mul(self, rhs: u64) -> Option<NearGas>
pub const fn checked_mul(self, rhs: u64) -> Option<NearGas>
Checked integer multiplication. Computes self * rhs, returning None if overflow occurred.
§Examples
use near_gas::NearGas;
use std::u64;
assert_eq!(NearGas::from_gas(2).checked_mul(2), Some(NearGas::from_gas(4)));
assert_eq!(NearGas::from_gas(u64::MAX).checked_mul(2), None)Sourcepub const fn checked_div(self, rhs: u64) -> Option<NearGas>
pub const fn checked_div(self, rhs: u64) -> Option<NearGas>
Checked integer division. Computes self / rhs, returning None if rhs == 0.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(10).checked_div(2), Some(NearGas::from_gas(5)));
assert_eq!(NearGas::from_gas(2).checked_div(0), None);Sourcepub const fn saturating_add(self, rhs: NearGas) -> NearGas
pub const fn saturating_add(self, rhs: NearGas) -> NearGas
Saturating integer addition. Computes self + rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(5).saturating_add(NearGas::from_gas(5)), NearGas::from_gas(10));
assert_eq!(NearGas::from_gas(u64::MAX).saturating_add(NearGas::from_gas(1)), NearGas::from_gas(u64::MAX));Sourcepub const fn saturating_sub(self, rhs: NearGas) -> NearGas
pub const fn saturating_sub(self, rhs: NearGas) -> NearGas
Saturating integer subtraction. Computes self - rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(5).saturating_sub(NearGas::from_gas(2)), NearGas::from_gas(3));
assert_eq!(NearGas::from_gas(1).saturating_sub(NearGas::from_gas(2)), NearGas::from_gas(0));Sourcepub const fn saturating_mul(self, rhs: u64) -> NearGas
pub const fn saturating_mul(self, rhs: u64) -> NearGas
Saturating integer multiplication. Computes self * rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_gas::NearGas;
use std::u64;
assert_eq!(NearGas::from_gas(2).saturating_mul(5), NearGas::from_gas(10));
assert_eq!(NearGas::from_gas(u64::MAX).saturating_mul(2), NearGas::from_gas(u64::MAX));Sourcepub const fn saturating_div(self, rhs: u64) -> NearGas
pub const fn saturating_div(self, rhs: u64) -> NearGas
Saturating integer division. Computes self / rhs, saturating at the numeric bounds instead of overflowing.
§Examples
use near_gas::NearGas;
assert_eq!(NearGas::from_gas(10).saturating_div(2), NearGas::from_gas(5));
assert_eq!(NearGas::from_gas(10).saturating_div(0), NearGas::from_gas(0))Trait Implementations§
Source§impl<'de> Deserialize<'de> for NearGas
impl<'de> Deserialize<'de> for NearGas
Source§fn deserialize<D>(
deserializer: D,
) -> Result<NearGas, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<NearGas, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl Display for NearGas
NearGas Display implementation rounds up the gas usage to the relevant precision point.
There are 4 breakpoints:
impl Display for NearGas
NearGas Display implementation rounds up the gas usage to the relevant precision point. There are 4 breakpoints:
- exactly 0 Tgas
- <0.001 Tgas
- 0.001 - 0.999 Tgas (uses 3 digits after the floating point)
-
1 Tgas (uses 1 digit after the floating point)
Source§impl Ord for NearGas
impl Ord for NearGas
Source§impl PartialOrd for NearGas
impl PartialOrd for NearGas
Source§impl Serialize for NearGas
impl Serialize for NearGas
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl Copy for NearGas
impl Eq for NearGas
impl StructuralPartialEq for NearGas
Auto Trait Implementations§
impl Freeze for NearGas
impl RefUnwindSafe for NearGas
impl Send for NearGas
impl Sync for NearGas
impl Unpin for NearGas
impl UnwindSafe for NearGas
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.