pub struct FixedI128 { /* private fields */ }
Expand description
Fixed precision u128
- upper 64 bits is value, lower 64 bits are the fractional portion of the
value. Each fractional portion is 1/i64::MAX
~= 5.4210e-20
or
0.000_000_000_000_000_000_054_210
, or about 54.2 zepto
, and can
accurately represent SI-prefixes milli/1e-3
, micro/1e-6
, nano/1e-9
,
pico/1e-12
, femto/1e-15
, and atto/1e-18
. This is probably overkill
for what you need. The whole portion can represent
i64::MIN
(-9_223_372_036_854_775_808
) -> i64::MAX
(9_223_372_036_854_775_807
)
Implementations§
Source§impl FixedI128
impl FixedI128
pub const fn from_parts(whole: i64, fracs: i64) -> Self
pub const fn from_raw_value(data: i128) -> Self
pub const fn trunc(&self) -> i64
pub const fn whole(&self) -> i64
pub const fn fract(&self) -> i64
pub const fn raw_value(&self) -> i128
pub fn as_f64(&self) -> f64
pub const fn is_zero(&self) -> bool
Trait Implementations§
Source§impl AddAssign<&FixedI128> for &mut FixedI128
impl AddAssign<&FixedI128> for &mut FixedI128
Source§fn add_assign(&mut self, rhs: &FixedI128)
fn add_assign(&mut self, rhs: &FixedI128)
+=
operation. Read moreSource§impl AddAssign<&FixedI128> for FixedI128
impl AddAssign<&FixedI128> for FixedI128
Source§fn add_assign(&mut self, rhs: &FixedI128)
fn add_assign(&mut self, rhs: &FixedI128)
+=
operation. Read moreSource§impl AddAssign<&mut FixedI128> for &mut FixedI128
impl AddAssign<&mut FixedI128> for &mut FixedI128
Source§fn add_assign(&mut self, rhs: &mut FixedI128)
fn add_assign(&mut self, rhs: &mut FixedI128)
+=
operation. Read moreSource§impl AddAssign<&mut FixedI128> for FixedI128
impl AddAssign<&mut FixedI128> for FixedI128
Source§fn add_assign(&mut self, rhs: &mut FixedI128)
fn add_assign(&mut self, rhs: &mut FixedI128)
+=
operation. Read moreSource§impl AddAssign<FixedI128> for &mut FixedI128
impl AddAssign<FixedI128> for &mut FixedI128
Source§fn add_assign(&mut self, rhs: FixedI128)
fn add_assign(&mut self, rhs: FixedI128)
+=
operation. Read moreSource§impl AddAssign<f64> for &mut FixedI128
impl AddAssign<f64> for &mut FixedI128
Source§fn add_assign(&mut self, rhs: f64)
fn add_assign(&mut self, rhs: f64)
+=
operation. Read moreSource§impl AddAssign<f64> for FixedI128
impl AddAssign<f64> for FixedI128
Source§fn add_assign(&mut self, rhs: f64)
fn add_assign(&mut self, rhs: f64)
+=
operation. Read moreSource§impl AddAssign for FixedI128
impl AddAssign for FixedI128
Source§fn add_assign(&mut self, rhs: FixedI128)
fn add_assign(&mut self, rhs: FixedI128)
+=
operation. Read moreSource§impl DivAssign for &mut FixedI128
impl DivAssign for &mut FixedI128
Source§fn div_assign(&mut self, rhs: &mut FixedI128)
fn div_assign(&mut self, rhs: &mut FixedI128)
/=
operation. Read moreSource§impl DivAssign for FixedI128
impl DivAssign for FixedI128
Source§fn div_assign(&mut self, rhs: FixedI128)
fn div_assign(&mut self, rhs: FixedI128)
/=
operation. Read moreSource§impl FloatExt for FixedI128
impl FloatExt for FixedI128
Source§fn exp(self) -> Self::Type
fn exp(self) -> Self::Type
Implementation of Exponential Function from NIST DTMF eq 4.2.19: <https://dlmf.nist.gov/4.2.E19>
Source§fn ln(self) -> Self::Type
fn ln(self) -> Self::Type
Implementation of Natural Logarithm using NIST DLMF eq 4.6.4: <https://dlmf.nist.gov/4.6.E4>
Source§fn powf(self, a: Self::Type) -> Self::Type
fn powf(self, a: Self::Type) -> Self::Type
Implementation of general power function using NIST DLMF eq 4.2.26: <https://dlmf.nist.gov/4.2.E26>
type Type = FixedI128
type Size = i128
fn trunc(self) -> Self::Type
fn fract(self) -> Self::Type
fn abs(self) -> Self::Type
fn round(self) -> Self::Type
fn floor(self) -> Self::Type
fn ceil(self) -> Self::Type
fn signum(self) -> Self::Type
fn powi(self, val: i32) -> Self::Type
fn sqrt(self) -> Self::Type
fn to_bits(self) -> Self::Size
fn exponent(self) -> u16
fn significand(self) -> Self::Size
Source§impl MulAssign for &mut FixedI128
impl MulAssign for &mut FixedI128
Source§fn mul_assign(&mut self, rhs: &mut FixedI128)
fn mul_assign(&mut self, rhs: &mut FixedI128)
*=
operation. Read moreSource§impl MulAssign for FixedI128
impl MulAssign for FixedI128
Source§fn mul_assign(&mut self, rhs: FixedI128)
fn mul_assign(&mut self, rhs: FixedI128)
*=
operation. Read moreSource§impl Ord for FixedI128
impl Ord for FixedI128
Source§impl PartialOrd<FixedI128> for i16
impl PartialOrd<FixedI128> for i16
Source§impl PartialOrd<FixedI128> for i32
impl PartialOrd<FixedI128> for i32
Source§impl PartialOrd<FixedI128> for i64
impl PartialOrd<FixedI128> for i64
Source§impl PartialOrd<FixedI128> for i8
impl PartialOrd<FixedI128> for i8
Source§impl PartialOrd<FixedI128> for u16
impl PartialOrd<FixedI128> for u16
Source§impl PartialOrd<FixedI128> for u32
impl PartialOrd<FixedI128> for u32
Source§impl PartialOrd<FixedI128> for u64
impl PartialOrd<FixedI128> for u64
Source§impl PartialOrd<FixedI128> for u8
impl PartialOrd<FixedI128> for u8
Source§impl PartialOrd<f64> for FixedI128
impl PartialOrd<f64> for FixedI128
Source§impl PartialOrd<i16> for FixedI128
impl PartialOrd<i16> for FixedI128
Source§impl PartialOrd<i32> for FixedI128
impl PartialOrd<i32> for FixedI128
Source§impl PartialOrd<i64> for FixedI128
impl PartialOrd<i64> for FixedI128
Source§impl PartialOrd<i8> for FixedI128
impl PartialOrd<i8> for FixedI128
Source§impl PartialOrd<u16> for FixedI128
impl PartialOrd<u16> for FixedI128
Source§impl PartialOrd<u32> for FixedI128
impl PartialOrd<u32> for FixedI128
Source§impl PartialOrd<u64> for FixedI128
impl PartialOrd<u64> for FixedI128
Source§impl PartialOrd<u8> for FixedI128
impl PartialOrd<u8> for FixedI128
Source§impl PartialOrd for FixedI128
impl PartialOrd for FixedI128
Source§impl SubAssign<&FixedI128> for &mut FixedI128
impl SubAssign<&FixedI128> for &mut FixedI128
Source§fn sub_assign(&mut self, rhs: &FixedI128)
fn sub_assign(&mut self, rhs: &FixedI128)
-=
operation. Read moreSource§impl SubAssign<&FixedI128> for FixedI128
impl SubAssign<&FixedI128> for FixedI128
Source§fn sub_assign(&mut self, rhs: &FixedI128)
fn sub_assign(&mut self, rhs: &FixedI128)
-=
operation. Read moreSource§impl SubAssign<&mut FixedI128> for &mut FixedI128
impl SubAssign<&mut FixedI128> for &mut FixedI128
Source§fn sub_assign(&mut self, rhs: &mut FixedI128)
fn sub_assign(&mut self, rhs: &mut FixedI128)
-=
operation. Read moreSource§impl SubAssign<&mut FixedI128> for FixedI128
impl SubAssign<&mut FixedI128> for FixedI128
Source§fn sub_assign(&mut self, rhs: &mut FixedI128)
fn sub_assign(&mut self, rhs: &mut FixedI128)
-=
operation. Read moreSource§impl SubAssign<FixedI128> for &mut FixedI128
impl SubAssign<FixedI128> for &mut FixedI128
Source§fn sub_assign(&mut self, rhs: FixedI128)
fn sub_assign(&mut self, rhs: FixedI128)
-=
operation. Read moreSource§impl SubAssign for FixedI128
impl SubAssign for FixedI128
Source§fn sub_assign(&mut self, rhs: FixedI128)
fn sub_assign(&mut self, rhs: FixedI128)
-=
operation. Read more