pub struct Number { /* private fields */ }Expand description
High-precision decimal number
Implementations§
Source§impl Number
impl Number
Sourcepub fn from_i64(mantissa: i64) -> Result<Self, NumberError>
pub fn from_i64(mantissa: i64) -> Result<Self, NumberError>
Create a Number from an i64 mantissa
Sourcepub fn from_mantissa_exponent(
mantissa: i64,
exponent: i32,
) -> Result<Self, NumberError>
pub fn from_mantissa_exponent( mantissa: i64, exponent: i32, ) -> Result<Self, NumberError>
Create a Number from mantissa and exponent
Sourcepub fn from_xrpl_iou_value(buffer: XrplIouValue) -> Result<Self, NumberError>
pub fn from_xrpl_iou_value(buffer: XrplIouValue) -> Result<Self, NumberError>
Create a Number from an XRP Ledger IOU value (8-byte buffer)
Parses the XRP Ledger token amount format:
- Bit 0 (MSB): Type bit (1=token, 0=XRP)
- Bit 1: Sign bit (1=positive, 0=negative)
- Bits 2-9: Exponent (unsigned, add 97 to get actual exponent in range -96 to +80)
- Bits 10-63: Mantissa (54 bits, normalized to 10^15 to 10^16-1)
Sourcepub fn to_xrpl_iou_value(&self) -> Result<XrplIouValue, NumberError>
pub fn to_xrpl_iou_value(&self) -> Result<XrplIouValue, NumberError>
Convert this Number to an XRP Ledger IOU value (8-byte buffer)
Serializes to the XRP Ledger token amount format:
- Bit 0 (MSB): Type bit (1=token, 0=XRP)
- Bit 1: Sign bit (1=positive, 0=negative)
- Bits 2-9: Exponent (unsigned, add 97 to get actual exponent in range -96 to +80)
- Bits 10-63: Mantissa (54 bits, normalized to 10^15 to 10^16-1)
Sourcepub fn to_i64(&self) -> Result<i64, NumberError>
pub fn to_i64(&self) -> Result<i64, NumberError>
Convert to i64 (with potential precision loss)
Sourcepub fn abs(&self) -> Result<Self, NumberError>
pub fn abs(&self) -> Result<Self, NumberError>
Compute absolute value
Sourcepub fn pow(&self, exponent: u32) -> Result<Self, NumberError>
pub fn pow(&self, exponent: u32) -> Result<Self, NumberError>
Raise this Number to an unsigned integer power
Sourcepub fn root(&self, degree: u32) -> Result<Self, NumberError>
pub fn root(&self, degree: u32) -> Result<Self, NumberError>
Compute the nth root of this Number
Sourcepub fn sqrt(&self) -> Result<Self, NumberError>
pub fn sqrt(&self) -> Result<Self, NumberError>
Compute the square root of this Number
Sourcepub fn log10(&self) -> Result<Self, NumberError>
pub fn log10(&self) -> Result<Self, NumberError>
Compute the base-10 logarithm of this Number
Sourcepub fn get_rounding_mode() -> RoundingMode
pub fn get_rounding_mode() -> RoundingMode
Get the current global rounding mode
Sourcepub fn set_rounding_mode(mode: RoundingMode) -> RoundingMode
pub fn set_rounding_mode(mode: RoundingMode) -> RoundingMode
Set the global rounding mode, returning the previous mode
Trait Implementations§
Source§impl AddAssign<&Number> for Number
impl AddAssign<&Number> for Number
Source§fn add_assign(&mut self, rhs: &Number)
fn add_assign(&mut self, rhs: &Number)
Performs the
+= operation. Read moreSource§impl AddAssign for Number
impl AddAssign for Number
Source§fn add_assign(&mut self, rhs: Number)
fn add_assign(&mut self, rhs: Number)
Performs the
+= operation. Read moreSource§impl DivAssign<&Number> for Number
impl DivAssign<&Number> for Number
Source§fn div_assign(&mut self, rhs: &Number)
fn div_assign(&mut self, rhs: &Number)
Performs the
/= operation. Read moreSource§impl DivAssign for Number
impl DivAssign for Number
Source§fn div_assign(&mut self, rhs: Number)
fn div_assign(&mut self, rhs: Number)
Performs the
/= operation. Read moreSource§impl MulAssign<&Number> for Number
impl MulAssign<&Number> for Number
Source§fn mul_assign(&mut self, rhs: &Number)
fn mul_assign(&mut self, rhs: &Number)
Performs the
*= operation. Read moreSource§impl MulAssign for Number
impl MulAssign for Number
Source§fn mul_assign(&mut self, rhs: Number)
fn mul_assign(&mut self, rhs: Number)
Performs the
*= operation. Read moreSource§impl Ord for Number
impl Ord for Number
Source§impl PartialOrd for Number
impl PartialOrd for Number
Source§impl SubAssign<&Number> for Number
impl SubAssign<&Number> for Number
Source§fn sub_assign(&mut self, rhs: &Number)
fn sub_assign(&mut self, rhs: &Number)
Performs the
-= operation. Read moreSource§impl SubAssign for Number
impl SubAssign for Number
Source§fn sub_assign(&mut self, rhs: Number)
fn sub_assign(&mut self, rhs: Number)
Performs the
-= operation. Read moreSource§impl TryFrom<&Number> for XrplIouValue
impl TryFrom<&Number> for XrplIouValue
Source§impl TryFrom<[u8; 8]> for Number
impl TryFrom<[u8; 8]> for Number
Source§type Error = NumberError
type Error = NumberError
The type returned in the event of a conversion error.
Source§impl TryFrom<Number> for XrplIouValue
impl TryFrom<Number> for XrplIouValue
impl Eq for Number
impl Send for Number
impl Sync for Number
Auto Trait Implementations§
impl Freeze for Number
impl RefUnwindSafe for Number
impl Unpin for Number
impl UnwindSafe for Number
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
Mutably borrows from an owned value. Read more