Struct dashu_float::FBig
source · [−]Expand description
An arbitrary precision floating point number with arbitrary base and rounding mode.
The float number consists of a Repr and a Context. The Repr instance determines the value of the number, and the Context contains runtime information (such as precision limit, rounding mode, etc.)
For how the number is represented, see Repr, for how the precision limit and rounding mode is applied, see Context.
The arithmetic operations on FBig follows the behavior of its associated context. If a different precision limit and/or rounding mode is required, or the rounding information has to be preserved, use the methods of the Context type.
Generic Parameters
The const generic parameters will be abbreviated as BASE
-> B
, RoundingMode
-> R
.
THe BASE
must be in range [2, isize::MAX], and the RoundingMode
can be chosen from
the mode module.
With the default generic parameters, the floating number is of base 2 rounded towards zero. This is the most efficient format for operations. To represent a decimal number, the alias DBig is provided, which is base 10 rounded to the nearest.
Parsing and printing
To create a FBig instance, there are four ways:
- Use predifined constants (e.g. FBig::ZERO, FBig::ONE, FBig::NEG_INFINITY).
- Use the literal macro
fbig!
ordbig!
defined in thedashu-macro
crate. - Construct from the significand and exponent using from_parts() or from_parts_const().
- Parse from a string.
Conversion from and to str is limited to native radix (i.e. base). To print or parse with different radix, please use to_binary(), to_decimal() or with_base(), with_base_and_precision() to convert.
For printing, currently only the Display and Debug are supported. Other formatting traits will be supported in future.
// parsing
let a = DBig::from_parts(123456789.into(), -5);
let b = DBig::from_str_native("1234.56789")?;
let c = DBig::from_str_native("1.23456789e3")?;
assert_eq!(a, b);
assert_eq!(b, c);
// printing
assert_eq!(format!("{}", DBig::from_str_native("12.34")?), "12.34");
let x = DBig::from_str_native("10.01")?
.with_precision(0) // use unlimited precision
.value();
if dashu_int::Word::BITS == 64 {
// number of digits to display depends on the word size
assert_eq!(
format!("{:?}", x.powi(100.into())),
"1105115697720767968..1441386704950100001 * 10 ^ -200 (prec: 0, rnd: HalfAway)"
);
}
For detailed information of parsing, refer to the from_str_native() method.
Binary operations
Binary operations on FBig instances are restricted to the same base and same rounding mode. This is designed to make sure that no hidden conversion is performed during the operations. However, for equality test and comparsion, two FBig instances can have different rounding modes (but not different bases), because rounding will never happends during comparison.
Convert from/to f32
/f64
The conversion between FBig and f32/f64 is only defined for base 2 FBig. To convert from/to other bases, please first convert to base 2, and then change the base using with_base() or with_base_and_precision().
Converting from f32/f64 (using TryFrom) is lossless, except for
that NAN
values will result in an Err. Converting to f32/f64 (using to_f32()
and to_f64()) is lossy, and the rounding direction is contained in the result of these
two methods.
The infinities are converted as it is, and the subnormals are converted using its actual values.
Implementations
sourceimpl<R: Round, const B: Word> FBig<R, B>
impl<R: Round, const B: Word> FBig<R, B>
sourcepub fn to_decimal(&self) -> Rounded<FBig<R, 10>>
pub fn to_decimal(&self) -> Rounded<FBig<R, 10>>
Convert the float number to base 10 (with decimal exponents).
It’s equivalent to self.with_base::<10>()
. See with_base()
for the precision and rounding behavior.
Examples
use dashu_base::Approximation::*;
use dashu_float::round::{mode::HalfAway, Rounding::*};
assert_eq!(
FBig::<HalfAway, 2>::from_str_native("0x1234")?.to_decimal(),
Exact(DBig::from_str_native("4660")?)
);
assert_eq!(
FBig::<HalfAway, 2>::from_str_native("0x12.34")?.to_decimal(),
Inexact(DBig::from_str_native("18.20")?, NoOp)
);
assert_eq!(
FBig::<HalfAway, 2>::from_str_native("0x1.234p-4")?.to_decimal(),
Inexact(DBig::from_str_native("0.07111")?, AddOne)
);
Panics
Panics if the associated context has unlimited precision and the conversion cannot be performed losslessly.
sourcepub fn to_binary(&self) -> Rounded<FBig<R, 2>>
pub fn to_binary(&self) -> Rounded<FBig<R, 2>>
Convert the float number to base 2 (with binary exponents).
It’s equivalent to self.with_base::<2>()
. See with_base()
for the precision and rounding behavior.
Examples
use dashu_base::Approximation::*;
use dashu_float::round::{mode::HalfAway, Rounding::*};
assert_eq!(
DBig::from_str_native("1234")?.to_binary(),
Exact(FBig::<HalfAway, 2>::from_str_native("0x4d2")?)
);
assert_eq!(
DBig::from_str_native("12.34")?.to_binary(),
Inexact(FBig::<HalfAway, 2>::from_str_native("0xc.57")?, NoOp)
);
assert_eq!(
DBig::from_str_native("1.234e-1")?.to_binary(),
Inexact(FBig::<HalfAway, 2>::from_str_native("0x1.f97p-4")?, NoOp)
);
Panics
Panics if the associated context has unlimited precision and the conversion cannot be performed losslessly.
sourcepub fn with_precision(self, precision: usize) -> Rounded<Self>
pub fn with_precision(self, precision: usize) -> Rounded<Self>
Explicitly change the precision of the float number.
If the given precision is less than the current value in the context, it will be rounded with the rounding mode specified by the generic parameter.
Examples
use dashu_base::Approximation::*;
use dashu_float::round::{mode::HalfAway, Rounding::*};
let a = DBig::from_str_native("2.345")?;
assert_eq!(a.precision(), 4);
assert_eq!(
a.clone().with_precision(3),
Inexact(DBig::from_str_native("2.35")?, AddOne)
);
assert_eq!(
a.clone().with_precision(5),
Exact(DBig::from_str_native("2.345")?)
);
sourcepub fn with_rounding<NewR: Round>(self) -> FBig<NewR, B>
pub fn with_rounding<NewR: Round>(self) -> FBig<NewR, B>
Explicitly change the rounding mode of the number.
This operation doesn’t modify the underlying representation, it only changes the rounding mode in the context.
Examples
use dashu_base::Approximation::*;
use dashu_float::round::{mode::{HalfAway, Zero}, Rounding::*};
type DBigHalfAway = DBig;
type DBigZero = FBig::<Zero, 10>;
let a = DBigHalfAway::from_str_native("2.345")?;
let b = DBigZero::from_str_native("2.345")?;
assert_eq!(a.with_rounding::<Zero>(), b);
sourcepub fn with_base<const NewB: Word>(self) -> Rounded<FBig<R, NewB>>
pub fn with_base<const NewB: Word>(self) -> Rounded<FBig<R, NewB>>
Explicitly change the base of the float number.
This function internally calls with_base_and_precision. The precision of the result number will be calculated in such a way that the new limit of the significand is less than or equal to before. That is, the new precision will be the max integer such that
NewB ^ new_precision <= B ^ old_precision
If any rounding happens during the conversion, if will follow the rounding mode specified by the generic parameter.
Examples
use dashu_base::Approximation::*;
use dashu_float::round::{mode::Zero, Rounding::*};
type FBin = FBig;
type FDec = FBig<Zero, 10>;
type FHex = FBig<Zero, 16>;
let a = FBin::from_str_native("0x1.234")?; // 0x1234 * 2^-12
assert_eq!(
a.clone().with_base::<10>(),
// 1.1376953125 rounded towards zero
Inexact(FDec::from_str_native("1.137")?, NoOp)
);
assert_eq!(
a.clone().with_base::<16>(),
// conversion is exact when the new base is a power of the old base
Exact(FHex::from_str_native("1.234")?)
);
Panics
Panics if the associated context has unlimited precision and the conversion cannot be performed losslessly.
sourcepub fn with_base_and_precision<const NewB: Word>(
self,
precision: usize
) -> Rounded<FBig<R, NewB>>
pub fn with_base_and_precision<const NewB: Word>(
self,
precision: usize
) -> Rounded<FBig<R, NewB>>
Explicitly change the base of the float number with given precision (under the new base).
Infinities are mapped to infinities inexactly, the error will be NoOp.
Conversion for float numbers with unlimited precision is only allowed in following cases:
- The number is infinite
- The new base NewB is a power of B
- B is a power of the new base NewB
Examples
use dashu_base::Approximation::*;
use dashu_float::round::{mode::Zero, Rounding::*};
type FBin = FBig;
type FDec = FBig<Zero, 10>;
type FHex = FBig<Zero, 16>;
let a = FBin::from_str_native("0x1.234")?; // 0x1234 * 2^-12
assert_eq!(
a.clone().with_base_and_precision::<10>(8),
// 1.1376953125 rounded towards zero
Inexact(FDec::from_str_native("1.1376953")?, NoOp)
);
assert_eq!(
a.clone().with_base_and_precision::<16>(8),
// conversion can be exact when the new base is a power of the old base
Exact(FHex::from_str_native("1.234")?)
);
assert_eq!(
a.clone().with_base_and_precision::<16>(2),
// but the conversion is still inexact if the target precision is smaller
Inexact(FHex::from_str_native("1.2")?, NoOp)
);
Panics
Panics if the associated context has unlimited precision and the conversion cannot be performed losslessly.
sourcepub fn to_int(&self) -> Rounded<IBig>
pub fn to_int(&self) -> Rounded<IBig>
Convert the float number to integer with the given rounding mode.
Warning: If the float number has a very large exponent, it will be evaluated and result in allocating an huge integer and it might eat up all your memory.
Examples
use dashu_base::Approximation::*;
use dashu_float::round::Rounding::*;
assert_eq!(
DBig::from_str_native("1234")?.to_int(),
Exact(1234.into())
);
assert_eq!(
DBig::from_str_native("1.234e6")?.to_int(),
Exact(1234000.into())
);
assert_eq!(
DBig::from_str_native("1.234")?.to_int(),
Inexact(1.into(), NoOp)
);
Panics
Panics if the number is infinte
sourcepub fn trunc(&self) -> Self
pub fn trunc(&self) -> Self
Get the integral part of the float
Note: this function will adjust the precision accordingly.
Examples
let a = DBig::from_str_native("1.234")?;
assert_eq!(a.trunc(), DBig::from_str_native("1")?);
// the actual precision of the integral part is 1 digit
assert_eq!(a.trunc().precision(), 1);
Panics
Panics if the number is infinte
sourcepub fn fract(&self) -> Self
pub fn fract(&self) -> Self
Get the fractional part of the float
Note: this function will adjust the precision accordingly!
Examples
let a = DBig::from_str_native("1.234")?;
assert_eq!(a.fract(), DBig::from_str_native("0.234")?);
// the actual precision of the integral part is 3 digits
assert_eq!(a.fract().precision(), 3);
Panics
Panics if the number is infinte
sourcepub fn ceil(&self) -> Self
pub fn ceil(&self) -> Self
Returns the smallest integer greater than or equal to self.
Examples
let a = DBig::from_str_native("1.234")?;
assert_eq!(a.ceil(), DBig::from_str_native("2")?);
// works for very large exponent
let b = DBig::from_str_native("1.234e10000")?;
assert_eq!(b.ceil(), b);
Panics
Panics if the number is infinte
sourcepub fn floor(&self) -> Self
pub fn floor(&self) -> Self
Returns the largest integer less than or equal to self.
Examples
let a = DBig::from_str_native("1.234")?;
assert_eq!(a.floor(), DBig::from_str_native("1")?);
// works for very large exponent
let b = DBig::from_str_native("1.234e10000")?;
assert_eq!(b.floor(), b);
Panics
Panics if the number is infinte
sourceimpl<R: Round> FBig<R, 2>
impl<R: Round> FBig<R, 2>
sourcepub fn to_f32(&self) -> Rounded<f32>
pub fn to_f32(&self) -> Rounded<f32>
Convert the float number to f32 with HalfEven rounding mode regardless of the mode associated with this number.
This method is only available to base 2 float number. For other bases, it’s required
to convert the number to base 2 explicitly using self.with_base_and_precision::<2>(23)
first, and then convert to f32.
Examples
let a = DBig::from_str_native("1.234")?;
assert_eq!(a.with_base_and_precision::<2>(23).value().to_f32().value(), 1.234);
let b = DBig::INFINITY;
assert_eq!(b.with_base_and_precision::<2>(23).value().to_f32().value(), f32::INFINITY);
sourcepub fn to_f64(&self) -> Rounded<f64>
pub fn to_f64(&self) -> Rounded<f64>
Convert the float number to f64 with HalfEven rounding mode regardless of the mode associated with this number.
This method is only available to base 2 float number. For other bases, it’s required
to convert the number to base 2 explicitly using self.with_base_and_precision::<2>(53)
first, and then convert to f32.
Examples
let a = DBig::from_str_native("1.234")?;
assert_eq!(a.with_base_and_precision::<2>(53).value().to_f64().value(), 1.234);
let b = DBig::INFINITY;
assert_eq!(b.with_base_and_precision::<2>(53).value().to_f64().value(), f64::INFINITY);
sourceimpl<R: Round, const B: Word> FBig<R, B>
impl<R: Round, const B: Word> FBig<R, B>
sourcepub fn powi(&self, exp: IBig) -> FBig<R, B>
pub fn powi(&self, exp: IBig) -> FBig<R, B>
Raise the floating point number to an integer power.
Examples
let a = DBig::from_str_native("-1.234")?;
assert_eq!(a.powi(10.into()), DBig::from_str_native("8.188")?);
sourceimpl<R: Round, const B: Word> FBig<R, B>
impl<R: Round, const B: Word> FBig<R, B>
sourcepub fn from_repr(repr: Repr<B>, context: Context<R>) -> Self
pub fn from_repr(repr: Repr<B>, context: Context<R>) -> Self
Create a FBig instance from Repr and Context.
This method should not be used in most cases. It’s designed to be used when you hold a Repr instance and want to create an FBig from that.
Examples
use dashu_float::{Repr, Context};
assert_eq!(DBig::from_repr(Repr::one(), Context::new(1)), DBig::ONE);
assert_eq!(DBig::from_repr(Repr::infinity(), Context::new(1)), DBig::INFINITY);
Panics
Panics if the Repr has more digits than the precision limit specified in the context. Note that this condition is not checked in release build.
sourcepub const ZERO: Self = _
pub const ZERO: Self = _
FBig with value 0 and unlimited precision
To test if the float number is zero, use self.repr().is_zero()
.
sourcepub const ONE: Self = _
pub const ONE: Self = _
FBig with value 1 and unlimited precision
To test if the float number is one, use self.repr().one()
.
sourcepub const INFINITY: Self = _
pub const INFINITY: Self = _
FBig instance representing the positive infinity (+∞)
To test if the float number is infinite, use self.repr().infinite()
.
sourcepub const NEG_INFINITY: Self = _
pub const NEG_INFINITY: Self = _
FBig instance representing the negative infinity (-∞)
To test if the float number is infinite, use self.repr().infinite()
.
sourcepub const fn precision(&self) -> usize
pub const fn precision(&self) -> usize
Get the maximum precision set for the float number.
It’s equivalent to self.context().precision()
.
Examples
use dashu_float::Repr;
let a = DBig::from_str_native("1.234")?;
assert!(a.repr().significand() <= &Repr::<10>::BASE.pow(a.precision()));
sourcepub fn digits(&self) -> usize
pub fn digits(&self) -> usize
Get the number of the significant digits in the float number
It’s equivalent to self.repr().digits()
.
This value is also the actual precision needed for the float number. Shrink to this value using with_precision() will not cause loss of float precision.
Examples
use dashu_base::Approximation::*;
let a = DBig::from_str_native("-1.234e-3")?;
assert_eq!(a.digits(), 4);
assert!(matches!(a.clone().with_precision(4), Exact(_)));
assert!(matches!(a.clone().with_precision(3), Inexact(_, _)));
sourcepub fn into_repr(self) -> Repr<B>
pub fn into_repr(self) -> Repr<B>
Get the underlying numeric representation
Examples
use dashu_float::Repr;
let a = DBig::ONE;
assert_eq!(a.into_repr(), Repr::<10>::one());
sourcepub fn from_parts(significand: IBig, exponent: isize) -> Self
pub fn from_parts(significand: IBig, exponent: isize) -> Self
Convert raw parts (significand, exponent) into a float number.
The precision will be inferred from significand (the lowest k such that significand <= base^k
)
Examples
let a = DBig::from_parts((-1234).into(), -2);
assert_eq!(a, DBig::from_str_native("-12.34")?);
assert_eq!(a.precision(), 4); // 1234 has 4 (decimal) digits
sourcepub const fn from_parts_const(
sign: Sign,
significand: DoubleWord,
exponent: isize,
min_precision: Option<usize>
) -> Self
pub const fn from_parts_const(
sign: Sign,
significand: DoubleWord,
exponent: isize,
min_precision: Option<usize>
) -> Self
Convert raw parts (significand, exponent) into a float number in a const
context.
It requires that the significand fits in a DoubleWord.
The precision will be inferred from significand (the lowest k such that significand <= base^k
).
If the min_precision
is provided, then the higher one from the given and inferred precision
will be used as the final precision.
Examples
use dashu_base::Sign;
const A: DBig = DBig::from_parts_const(Sign::Negative, 1234, -2, None);
assert_eq!(A, DBig::from_str_native("-12.34")?);
assert_eq!(A.precision(), 4); // 1234 has 4 (decimal) digits
const B: DBig = DBig::from_parts_const(Sign::Negative, 1234, -2, Some(5));
assert_eq!(B.precision(), 5); // overrided by the argument
sourcepub fn ulp(&self) -> Self
pub fn ulp(&self) -> Self
Return the value of the least significant digit of the float number x,
such that x + ulp
is the first float number greater than x (given the precision from the context).
Examples
assert_eq!(DBig::from_str_native("1.23")?.ulp(), DBig::from_str_native("0.01")?);
assert_eq!(DBig::from_str_native("01.23")?.ulp(), DBig::from_str_native("0.001")?);
sourceimpl<R: Round, const B: Word> FBig<R, B>
impl<R: Round, const B: Word> FBig<R, B>
sourceimpl<R: Round, const B: Word> FBig<R, B>
impl<R: Round, const B: Word> FBig<R, B>
sourcepub fn from_str_native(src: &str) -> Result<Self, ParseError>
pub fn from_str_native(src: &str) -> Result<Self, ParseError>
Convert a string in the native base (i.e. radix B
) to FBig.
If the parsing succeeded, the result number will be losslessly parsed from the input string.
This function is the actual implementation of the FromStr trait.
Note: Infinites are intentionally not supported by this function.
Format
The valid representations include
aaa
oraaa.
aaa
is represented in native baseB
without base prefixes.
aaa.bbb
=aaabbb / base ^ len(bbb)
aaa
andbbb
are represented in native baseB
without base prefixes.len(bbb)
represents the number of digits inbbb
, e.glen(bbb)
is 3. (Same below)
aaa.bbb@cc
=aaabbb * base ^ (cc - len(bbb))
aaa
andbbb
are represented in native baseB
- This is consistent with the representation used by GNU GMP.
aaa.bbbEcc
=aaabbb * 10 ^ (cc - len(bbb))
E
could be lower case, baseB
must be 10aaa
andbbb
are all represented in decimal
0xaaa
or0xaaa
0xaaa.bbb
=0xaaabbb / 16 ^ len(bbb)
0xaaa.bbbPcc
=0xaaabbb / 16 ^ len(bbb) * 2 ^ cc
P
could be lower case, baseB
must be 2 (not 16!)aaa
andbbb
are represented in hexadecimal- This is consistent with the C++ hexadecimal literals.
aaa.bbbBcc
=aaabbb * 2 ^ (cc - len(bbb))
aaa.bbbOcc
=aaabbb * 8 ^ (cc - len(bbb))
aaa.bbbHcc
=aaabbb * 16 ^ (cc - len(bbb))
B
/O
/H
could be lower case, and baseB
must be consistent with the marker.aaa
andbbb
are represented in binary/octal/hexadecimal correspondingly without prefix.- This is consistent with some scientific notations described in Wikipedia.
Digits 10-35 are represented by a-z
or A-Z
.
Literal aaa
and cc
above can be signed, but bbb
must be unsigned.
All cc
are represented in decimal. Either aaa
or bbb
can be omitted
when its value is zero, but they are not allowed to be omitted at the same time.
Precision
The precision of the parsed number is determined by the number of digits that are presented
in the input string. For example, the numbers parsed from 12.34
or 1.234e-1
will have a
precision of 4, while the ones parsed from 12.34000
or 00012.34
will have a precision of 7.
Examples
use dashu_base::Approximation::*;
let a = DBig::from_str_native("-1.23400e-3")?;
let b = DBig::from_str_native("-123.4@-05")?;
assert_eq!(a, b);
assert_eq!(a.precision(), 6);
assert_eq!(b.precision(), 4);
assert!(DBig::from_str_native("-0x1.234p-3").is_err());
assert!(DBig::from_str_native("-1.234H-3").is_err());
Panics
Panics if the base B
is not between MIN_RADIX and MAX_RADIX inclusive.
Trait Implementations
sourceimpl<R: Round, const B: Word> AddAssign<&FBig<R, B>> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&FBig<R, B>> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&IBig> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&IBig> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &IBig)
fn add_assign(&mut self, rhs: &IBig)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&UBig> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&UBig> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &UBig)
fn add_assign(&mut self, rhs: &UBig)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&i128> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&i128> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &i128)
fn add_assign(&mut self, rhs: &i128)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&i16> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&i16> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &i16)
fn add_assign(&mut self, rhs: &i16)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&i32> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&i32> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &i32)
fn add_assign(&mut self, rhs: &i32)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&i64> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&i64> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &i64)
fn add_assign(&mut self, rhs: &i64)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&i8> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&i8> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &i8)
fn add_assign(&mut self, rhs: &i8)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&isize> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&isize> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &isize)
fn add_assign(&mut self, rhs: &isize)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&u128> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&u128> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &u128)
fn add_assign(&mut self, rhs: &u128)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&u16> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&u16> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &u16)
fn add_assign(&mut self, rhs: &u16)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&u32> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&u32> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &u32)
fn add_assign(&mut self, rhs: &u32)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&u64> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&u64> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &u64)
fn add_assign(&mut self, rhs: &u64)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&u8> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&u8> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &u8)
fn add_assign(&mut self, rhs: &u8)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<&usize> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<&usize> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: &usize)
fn add_assign(&mut self, rhs: &usize)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<FBig<R, B>> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<FBig<R, B>> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<IBig> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<IBig> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: IBig)
fn add_assign(&mut self, rhs: IBig)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<UBig> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<UBig> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: UBig)
fn add_assign(&mut self, rhs: UBig)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<i128> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<i128> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: i128)
fn add_assign(&mut self, rhs: i128)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<i16> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<i16> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: i16)
fn add_assign(&mut self, rhs: i16)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<i32> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<i32> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: i32)
fn add_assign(&mut self, rhs: i32)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<i64> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<i64> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: i64)
fn add_assign(&mut self, rhs: i64)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<i8> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<i8> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: i8)
fn add_assign(&mut self, rhs: i8)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<isize> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<isize> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: isize)
fn add_assign(&mut self, rhs: isize)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<u128> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<u128> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: u128)
fn add_assign(&mut self, rhs: u128)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<u16> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<u16> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: u16)
fn add_assign(&mut self, rhs: u16)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<u32> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<u32> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: u32)
fn add_assign(&mut self, rhs: u32)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<u64> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<u64> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: u64)
fn add_assign(&mut self, rhs: u64)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<u8> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<u8> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: u8)
fn add_assign(&mut self, rhs: u8)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> AddAssign<usize> for FBig<R, B>
impl<R: Round, const B: Word> AddAssign<usize> for FBig<R, B>
sourcefn add_assign(&mut self, rhs: usize)
fn add_assign(&mut self, rhs: usize)
Performs the +=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&FBig<R, B>> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&FBig<R, B>> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &FBig<R, B>)
fn div_assign(&mut self, rhs: &FBig<R, B>)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&IBig> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&IBig> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &IBig)
fn div_assign(&mut self, rhs: &IBig)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&UBig> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&UBig> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &UBig)
fn div_assign(&mut self, rhs: &UBig)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&i128> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&i128> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &i128)
fn div_assign(&mut self, rhs: &i128)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&i16> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&i16> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &i16)
fn div_assign(&mut self, rhs: &i16)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&i32> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&i32> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &i32)
fn div_assign(&mut self, rhs: &i32)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&i64> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&i64> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &i64)
fn div_assign(&mut self, rhs: &i64)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&i8> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&i8> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &i8)
fn div_assign(&mut self, rhs: &i8)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&isize> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&isize> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &isize)
fn div_assign(&mut self, rhs: &isize)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&u128> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&u128> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &u128)
fn div_assign(&mut self, rhs: &u128)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&u16> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&u16> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &u16)
fn div_assign(&mut self, rhs: &u16)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&u32> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&u32> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &u32)
fn div_assign(&mut self, rhs: &u32)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&u64> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&u64> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &u64)
fn div_assign(&mut self, rhs: &u64)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&u8> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&u8> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &u8)
fn div_assign(&mut self, rhs: &u8)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<&usize> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<&usize> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: &usize)
fn div_assign(&mut self, rhs: &usize)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<FBig<R, B>> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<FBig<R, B>> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: Self)
fn div_assign(&mut self, rhs: Self)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<IBig> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<IBig> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: IBig)
fn div_assign(&mut self, rhs: IBig)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<UBig> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<UBig> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: UBig)
fn div_assign(&mut self, rhs: UBig)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<i128> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<i128> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: i128)
fn div_assign(&mut self, rhs: i128)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<i16> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<i16> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: i16)
fn div_assign(&mut self, rhs: i16)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<i32> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<i32> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: i32)
fn div_assign(&mut self, rhs: i32)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<i64> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<i64> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: i64)
fn div_assign(&mut self, rhs: i64)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<i8> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<i8> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: i8)
fn div_assign(&mut self, rhs: i8)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<isize> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<isize> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: isize)
fn div_assign(&mut self, rhs: isize)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<u128> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<u128> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: u128)
fn div_assign(&mut self, rhs: u128)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<u16> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<u16> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: u16)
fn div_assign(&mut self, rhs: u16)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<u32> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<u32> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: u32)
fn div_assign(&mut self, rhs: u32)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<u64> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<u64> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: u64)
fn div_assign(&mut self, rhs: u64)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<u8> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<u8> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: u8)
fn div_assign(&mut self, rhs: u8)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> DivAssign<usize> for FBig<R, B>
impl<R: Round, const B: Word> DivAssign<usize> for FBig<R, B>
sourcefn div_assign(&mut self, rhs: usize)
fn div_assign(&mut self, rhs: usize)
Performs the /=
operation. Read more
sourceimpl<R: Round, const B: Word> EstimatedLog2 for FBig<R, B>
impl<R: Round, const B: Word> EstimatedLog2 for FBig<R, B>
sourcefn log2_bounds(&self) -> (f32, f32)
fn log2_bounds(&self) -> (f32, f32)
Estimate the bounds of the binary logarithm. Read more
sourcefn log2_est(&self) -> f32
fn log2_est(&self) -> f32
Estimate the value of the binary logarithm. It’s calculated as the average of log2_bounds by default. Read more
sourceimpl<R: Round, const B: Word> FromStr for FBig<R, B>
impl<R: Round, const B: Word> FromStr for FBig<R, B>
type Err = ParseError
type Err = ParseError
The associated error which can be returned from parsing.
sourceimpl<R: Round, const B: Word> MulAssign<&FBig<R, B>> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&FBig<R, B>> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &Self)
fn mul_assign(&mut self, rhs: &Self)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&IBig> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&IBig> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &IBig)
fn mul_assign(&mut self, rhs: &IBig)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&UBig> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&UBig> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &UBig)
fn mul_assign(&mut self, rhs: &UBig)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&i128> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&i128> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &i128)
fn mul_assign(&mut self, rhs: &i128)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&i16> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&i16> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &i16)
fn mul_assign(&mut self, rhs: &i16)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&i32> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&i32> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &i32)
fn mul_assign(&mut self, rhs: &i32)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&i64> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&i64> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &i64)
fn mul_assign(&mut self, rhs: &i64)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&i8> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&i8> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &i8)
fn mul_assign(&mut self, rhs: &i8)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&isize> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&isize> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &isize)
fn mul_assign(&mut self, rhs: &isize)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&u128> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&u128> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &u128)
fn mul_assign(&mut self, rhs: &u128)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&u16> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&u16> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &u16)
fn mul_assign(&mut self, rhs: &u16)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&u32> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&u32> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &u32)
fn mul_assign(&mut self, rhs: &u32)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&u64> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&u64> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &u64)
fn mul_assign(&mut self, rhs: &u64)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&u8> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&u8> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &u8)
fn mul_assign(&mut self, rhs: &u8)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<&usize> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<&usize> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: &usize)
fn mul_assign(&mut self, rhs: &usize)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<FBig<R, B>> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<FBig<R, B>> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<IBig> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<IBig> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: IBig)
fn mul_assign(&mut self, rhs: IBig)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<Sign> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<Sign> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: Sign)
fn mul_assign(&mut self, rhs: Sign)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<UBig> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<UBig> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: UBig)
fn mul_assign(&mut self, rhs: UBig)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<i128> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<i128> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: i128)
fn mul_assign(&mut self, rhs: i128)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<i16> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<i16> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: i16)
fn mul_assign(&mut self, rhs: i16)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<i32> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<i32> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: i32)
fn mul_assign(&mut self, rhs: i32)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<i64> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<i64> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: i64)
fn mul_assign(&mut self, rhs: i64)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<i8> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<i8> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: i8)
fn mul_assign(&mut self, rhs: i8)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<isize> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<isize> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: isize)
fn mul_assign(&mut self, rhs: isize)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<u128> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<u128> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: u128)
fn mul_assign(&mut self, rhs: u128)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<u16> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<u16> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: u16)
fn mul_assign(&mut self, rhs: u16)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<u32> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<u32> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: u32)
fn mul_assign(&mut self, rhs: u32)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<u64> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<u64> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: u64)
fn mul_assign(&mut self, rhs: u64)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<u8> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<u8> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: u8)
fn mul_assign(&mut self, rhs: u8)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> MulAssign<usize> for FBig<R, B>
impl<R: Round, const B: Word> MulAssign<usize> for FBig<R, B>
sourcefn mul_assign(&mut self, rhs: usize)
fn mul_assign(&mut self, rhs: usize)
Performs the *=
operation. Read more
sourceimpl<R: Round, const B: Word> Ord for FBig<R, B>
impl<R: Round, const B: Word> Ord for FBig<R, B>
1.21.0 · sourcefn max(self, other: Self) -> Self
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
1.21.0 · sourcefn min(self, other: Self) -> Self
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
1.50.0 · sourcefn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
fn clamp(self, min: Self, max: Self) -> Selfwhere
Self: PartialOrd<Self>,
Restrict a value to a certain interval. Read more
sourceimpl<R1: Round, R2: Round, const B: Word> PartialEq<FBig<R2, B>> for FBig<R1, B>
impl<R1: Round, R2: Round, const B: Word> PartialEq<FBig<R2, B>> for FBig<R1, B>
sourceimpl<R1: Round, R2: Round, const B: Word> PartialOrd<FBig<R2, B>> for FBig<R1, B>
impl<R1: Round, R2: Round, const B: Word> PartialOrd<FBig<R2, B>> for FBig<R1, B>
sourcefn partial_cmp(&self, other: &FBig<R2, B>) -> Option<Ordering>
fn partial_cmp(&self, other: &FBig<R2, B>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl<R: Round, const B: Word> ShlAssign<isize> for FBig<R, B>
impl<R: Round, const B: Word> ShlAssign<isize> for FBig<R, B>
sourcefn shl_assign(&mut self, rhs: isize)
fn shl_assign(&mut self, rhs: isize)
Performs the <<=
operation. Read more
sourceimpl<R: Round, const B: Word> ShrAssign<isize> for FBig<R, B>
impl<R: Round, const B: Word> ShrAssign<isize> for FBig<R, B>
sourcefn shr_assign(&mut self, rhs: isize)
fn shr_assign(&mut self, rhs: isize)
Performs the >>=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&FBig<R, B>> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&FBig<R, B>> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &Self)
fn sub_assign(&mut self, rhs: &Self)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&IBig> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&IBig> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &IBig)
fn sub_assign(&mut self, rhs: &IBig)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&UBig> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&UBig> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &UBig)
fn sub_assign(&mut self, rhs: &UBig)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&i128> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&i128> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &i128)
fn sub_assign(&mut self, rhs: &i128)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&i16> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&i16> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &i16)
fn sub_assign(&mut self, rhs: &i16)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&i32> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&i32> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &i32)
fn sub_assign(&mut self, rhs: &i32)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&i64> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&i64> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &i64)
fn sub_assign(&mut self, rhs: &i64)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&i8> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&i8> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &i8)
fn sub_assign(&mut self, rhs: &i8)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&isize> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&isize> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &isize)
fn sub_assign(&mut self, rhs: &isize)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&u128> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&u128> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &u128)
fn sub_assign(&mut self, rhs: &u128)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&u16> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&u16> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &u16)
fn sub_assign(&mut self, rhs: &u16)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&u32> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&u32> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &u32)
fn sub_assign(&mut self, rhs: &u32)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&u64> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&u64> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &u64)
fn sub_assign(&mut self, rhs: &u64)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&u8> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&u8> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &u8)
fn sub_assign(&mut self, rhs: &u8)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<&usize> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<&usize> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: &usize)
fn sub_assign(&mut self, rhs: &usize)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<FBig<R, B>> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<FBig<R, B>> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<IBig> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<IBig> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: IBig)
fn sub_assign(&mut self, rhs: IBig)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<UBig> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<UBig> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: UBig)
fn sub_assign(&mut self, rhs: UBig)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<i128> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<i128> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: i128)
fn sub_assign(&mut self, rhs: i128)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<i16> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<i16> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: i16)
fn sub_assign(&mut self, rhs: i16)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<i32> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<i32> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: i32)
fn sub_assign(&mut self, rhs: i32)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<i64> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<i64> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: i64)
fn sub_assign(&mut self, rhs: i64)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<i8> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<i8> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: i8)
fn sub_assign(&mut self, rhs: i8)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<isize> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<isize> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: isize)
fn sub_assign(&mut self, rhs: isize)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<u128> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<u128> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: u128)
fn sub_assign(&mut self, rhs: u128)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<u16> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<u16> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: u16)
fn sub_assign(&mut self, rhs: u16)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<u32> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<u32> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: u32)
fn sub_assign(&mut self, rhs: u32)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<u64> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<u64> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: u64)
fn sub_assign(&mut self, rhs: u64)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<u8> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<u8> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: u8)
fn sub_assign(&mut self, rhs: u8)
Performs the -=
operation. Read more
sourceimpl<R: Round, const B: Word> SubAssign<usize> for FBig<R, B>
impl<R: Round, const B: Word> SubAssign<usize> for FBig<R, B>
sourcefn sub_assign(&mut self, rhs: usize)
fn sub_assign(&mut self, rhs: usize)
Performs the -=
operation. Read more
impl<R: Round, const B: Word> Eq for FBig<R, B>
Auto Trait Implementations
impl<RoundingMode, const BASE: u64> RefUnwindSafe for FBig<RoundingMode, BASE>where
RoundingMode: RefUnwindSafe,
impl<RoundingMode, const BASE: u64> Send for FBig<RoundingMode, BASE>where
RoundingMode: Send,
impl<RoundingMode, const BASE: u64> Sync for FBig<RoundingMode, BASE>where
RoundingMode: Sync,
impl<RoundingMode, const BASE: u64> Unpin for FBig<RoundingMode, BASE>where
RoundingMode: Unpin,
impl<RoundingMode, const BASE: u64> UnwindSafe for FBig<RoundingMode, BASE>where
RoundingMode: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more