pub struct NumericBuf { /* private fields */ }
Expand description
An owned, mutable numeric.
Implementations§
Source§impl NumericBuf
impl NumericBuf
Sourcepub fn negate_mut(&mut self)
pub fn negate_mut(&mut self)
Negate this value.
Sourcepub fn round_mut(&mut self, scale: i32)
pub fn round_mut(&mut self, scale: i32)
Round a value to have scale
digits after the decimal point.
We allow negative scale
, implying rounding before the decimal
point — Oracle interprets rounding that way.
§Panics
Panics if overflows.
Sourcepub fn trunc_mut(&mut self, scale: i32)
pub fn trunc_mut(&mut self, scale: i32)
Truncate a value to have scale
digits after the decimal point.
We allow negative scale
, implying a truncation before the decimal
point — Oracle interprets truncation that way.
Sourcepub fn apply_typmod(&mut self, typmod: Typmod) -> bool
pub fn apply_typmod(&mut self, typmod: Typmod) -> bool
Do bounds checking and rounding according to typmod
.
Returns true if overflows.
Notes that no matter whether overflows, self
will be rounded.
Sourcepub fn as_numeric(&self) -> &Numeric
pub fn as_numeric(&self) -> &Numeric
Gets a Numeric
reference by doing a cheap reference-to-reference conversion.
Methods from Deref<Target = Numeric>§
Sourcepub fn is_negative(&self) -> bool
pub fn is_negative(&self) -> bool
Checks if self
is negative.
Sourcepub fn is_positive(&self) -> bool
pub fn is_positive(&self) -> bool
Checks if self
is positive.
Sourcepub fn scale(&self) -> Option<i32>
pub fn scale(&self) -> Option<i32>
Returns the scale, i.e. the count of decimal digits in the fractional part.
Returns None
if self
is NaN
.
Sourcepub fn negate(&self) -> NumericBuf
pub fn negate(&self) -> NumericBuf
Negate this value.
Sourcepub fn signum(&self) -> NumericBuf
pub fn signum(&self) -> NumericBuf
Returns a numeric that represents the sign of self.
- -1 if
self
is less than 0 - 0 if
self
is equal to 0 - 1 if
self
is greater than zero NaN
ifself
isNaN
Sourcepub fn inc(&self) -> NumericBuf
pub fn inc(&self) -> NumericBuf
Sourcepub fn checked_add(&self, other: &Self) -> Option<NumericBuf>
pub fn checked_add(&self, other: &Self) -> Option<NumericBuf>
Add two numerics,
returning None
if overflow occurred.
Sourcepub fn checked_sub(&self, other: &Self) -> Option<NumericBuf>
pub fn checked_sub(&self, other: &Self) -> Option<NumericBuf>
Subtract one numeric from another,
returning None
if overflow occurred.
Sourcepub fn checked_mul(&self, other: &Self) -> Option<NumericBuf>
pub fn checked_mul(&self, other: &Self) -> Option<NumericBuf>
Calculate the product of two numerics,
returning None
if overflow occurred.
Sourcepub fn checked_div(&self, other: &Self) -> Option<NumericBuf>
pub fn checked_div(&self, other: &Self) -> Option<NumericBuf>
Checked numeric division.
Computes self / other
, returning None
if other == 0
or the division results in overflow.
Sourcepub fn checked_div_trunc(&self, other: &Self) -> Option<NumericBuf>
pub fn checked_div_trunc(&self, other: &Self) -> Option<NumericBuf>
Computes self / other
, truncating the result to an integer.
Returns None
if other == 0
or the division results in overflow.
Sourcepub fn checked_rem(&self, other: &Self) -> Option<NumericBuf>
pub fn checked_rem(&self, other: &Self) -> Option<NumericBuf>
Checked numeric remainder.
Computes self % other
, returning None if rhs == 0 or the division results in overflow.
Sourcepub fn round(&self, scale: i32) -> NumericBuf
pub fn round(&self, scale: i32) -> NumericBuf
Round a value to have scale
digits after the decimal point.
We allow negative scale
, implying rounding before the decimal
point — Oracle interprets rounding that way.
§Panics
Panics if overflows.
Sourcepub fn trunc(&self, scale: i32) -> NumericBuf
pub fn trunc(&self, scale: i32) -> NumericBuf
Truncate a value to have scale
digits after the decimal point.
We allow negative scale
, implying a truncation before the decimal
point — Oracle interprets truncation that way.
Sourcepub fn ceil(&self) -> NumericBuf
pub fn ceil(&self) -> NumericBuf
Sourcepub fn floor(&self) -> NumericBuf
pub fn floor(&self) -> NumericBuf
Sourcepub fn abs(&self) -> NumericBuf
pub fn abs(&self) -> NumericBuf
Compute the absolute value of self
.
Sourcepub fn sqrt(&self) -> NumericBuf
pub fn sqrt(&self) -> NumericBuf
Sourcepub fn ln(&self) -> NumericBuf
pub fn ln(&self) -> NumericBuf
Sourcepub fn log(&self, base: &Self) -> NumericBuf
pub fn log(&self, base: &Self) -> NumericBuf
Sourcepub fn log2(&self) -> NumericBuf
pub fn log2(&self) -> NumericBuf
Sourcepub fn log10(&self) -> NumericBuf
pub fn log10(&self) -> NumericBuf
Sourcepub fn exp(&self) -> Option<NumericBuf>
pub fn exp(&self) -> Option<NumericBuf>
Raise e to the power of self
(e^(self)
).
Returns None
if overflows.
Sourcepub fn pow(&self, exp: &Self) -> Option<NumericBuf>
pub fn pow(&self, exp: &Self) -> Option<NumericBuf>
Raise self
to the power of exp
.
Returns None
if overflows.
§Panics
if arguments are invalid:
self
is zero andexp
is less than zeroself
is less than zero andexp
is not a integer.
Trait Implementations§
Source§impl Add<&Numeric> for &NumericBuf
impl Add<&Numeric> for &NumericBuf
Source§impl Add<&Numeric> for NumericBuf
impl Add<&Numeric> for NumericBuf
Source§impl Add<&NumericBuf> for &Numeric
impl Add<&NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
+
operator.Source§impl Add<&NumericBuf> for &NumericBuf
impl Add<&NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
+
operator.Source§impl Add<&NumericBuf> for NumericBuf
impl Add<&NumericBuf> for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
+
operator.Source§impl Add<NumericBuf> for &Numeric
impl Add<NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
+
operator.Source§impl Add<NumericBuf> for &NumericBuf
impl Add<NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
+
operator.Source§impl Add for NumericBuf
impl Add for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
+
operator.Source§impl AddAssign<&Numeric> for NumericBuf
impl AddAssign<&Numeric> for NumericBuf
Source§fn add_assign(&mut self, other: &Numeric)
fn add_assign(&mut self, other: &Numeric)
+=
operation. Read moreSource§impl AddAssign<&NumericBuf> for NumericBuf
impl AddAssign<&NumericBuf> for NumericBuf
Source§fn add_assign(&mut self, other: &NumericBuf)
fn add_assign(&mut self, other: &NumericBuf)
+=
operation. Read moreSource§impl AddAssign for NumericBuf
impl AddAssign for NumericBuf
Source§fn add_assign(&mut self, other: NumericBuf)
fn add_assign(&mut self, other: NumericBuf)
+=
operation. Read moreSource§impl AsRef<Numeric> for NumericBuf
impl AsRef<Numeric> for NumericBuf
Source§impl Borrow<Numeric> for NumericBuf
impl Borrow<Numeric> for NumericBuf
Source§impl Clone for NumericBuf
impl Clone for NumericBuf
Source§impl Debug for NumericBuf
impl Debug for NumericBuf
Source§impl Display for NumericBuf
impl Display for NumericBuf
Source§impl Div<&Numeric> for &NumericBuf
impl Div<&Numeric> for &NumericBuf
Source§impl Div<&Numeric> for NumericBuf
impl Div<&Numeric> for NumericBuf
Source§impl Div<&NumericBuf> for &Numeric
impl Div<&NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
/
operator.Source§impl Div<&NumericBuf> for &NumericBuf
impl Div<&NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
/
operator.Source§impl Div<&NumericBuf> for NumericBuf
impl Div<&NumericBuf> for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
/
operator.Source§impl Div<NumericBuf> for &Numeric
impl Div<NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
/
operator.Source§impl Div<NumericBuf> for &NumericBuf
impl Div<NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
/
operator.Source§impl Div for NumericBuf
impl Div for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
/
operator.Source§impl DivAssign<&Numeric> for NumericBuf
impl DivAssign<&Numeric> for NumericBuf
Source§fn div_assign(&mut self, other: &Numeric)
fn div_assign(&mut self, other: &Numeric)
/=
operation. Read moreSource§impl DivAssign<&NumericBuf> for NumericBuf
impl DivAssign<&NumericBuf> for NumericBuf
Source§fn div_assign(&mut self, other: &NumericBuf)
fn div_assign(&mut self, other: &NumericBuf)
/=
operation. Read moreSource§impl DivAssign for NumericBuf
impl DivAssign for NumericBuf
Source§fn div_assign(&mut self, other: NumericBuf)
fn div_assign(&mut self, other: NumericBuf)
/=
operation. Read moreSource§impl Drop for NumericBuf
impl Drop for NumericBuf
Source§impl From<bool> for NumericBuf
impl From<bool> for NumericBuf
Source§impl From<i128> for NumericBuf
impl From<i128> for NumericBuf
Source§impl From<i16> for NumericBuf
impl From<i16> for NumericBuf
Source§impl From<i32> for NumericBuf
impl From<i32> for NumericBuf
Source§impl From<i64> for NumericBuf
impl From<i64> for NumericBuf
Source§impl From<i8> for NumericBuf
impl From<i8> for NumericBuf
Source§impl From<isize> for NumericBuf
impl From<isize> for NumericBuf
Source§impl From<u128> for NumericBuf
impl From<u128> for NumericBuf
Source§impl From<u16> for NumericBuf
impl From<u16> for NumericBuf
Source§impl From<u32> for NumericBuf
impl From<u32> for NumericBuf
Source§impl From<u64> for NumericBuf
impl From<u64> for NumericBuf
Source§impl From<u8> for NumericBuf
impl From<u8> for NumericBuf
Source§impl From<usize> for NumericBuf
impl From<usize> for NumericBuf
Source§impl FromStr for NumericBuf
impl FromStr for NumericBuf
Source§impl Hash for NumericBuf
impl Hash for NumericBuf
Source§impl LowerExp for NumericBuf
impl LowerExp for NumericBuf
Source§impl Mul<&Numeric> for &NumericBuf
impl Mul<&Numeric> for &NumericBuf
Source§impl Mul<&Numeric> for NumericBuf
impl Mul<&Numeric> for NumericBuf
Source§impl Mul<&NumericBuf> for &Numeric
impl Mul<&NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
*
operator.Source§impl Mul<&NumericBuf> for &NumericBuf
impl Mul<&NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
*
operator.Source§impl Mul<&NumericBuf> for NumericBuf
impl Mul<&NumericBuf> for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
*
operator.Source§impl Mul<NumericBuf> for &Numeric
impl Mul<NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
*
operator.Source§impl Mul<NumericBuf> for &NumericBuf
impl Mul<NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
*
operator.Source§impl Mul for NumericBuf
impl Mul for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
*
operator.Source§impl MulAssign<&Numeric> for NumericBuf
impl MulAssign<&Numeric> for NumericBuf
Source§fn mul_assign(&mut self, other: &Numeric)
fn mul_assign(&mut self, other: &Numeric)
*=
operation. Read moreSource§impl MulAssign<&NumericBuf> for NumericBuf
impl MulAssign<&NumericBuf> for NumericBuf
Source§fn mul_assign(&mut self, other: &NumericBuf)
fn mul_assign(&mut self, other: &NumericBuf)
*=
operation. Read moreSource§impl MulAssign for NumericBuf
impl MulAssign for NumericBuf
Source§fn mul_assign(&mut self, other: NumericBuf)
fn mul_assign(&mut self, other: NumericBuf)
*=
operation. Read moreSource§impl Neg for &NumericBuf
impl Neg for &NumericBuf
Source§impl Neg for NumericBuf
impl Neg for NumericBuf
Source§impl Ord for NumericBuf
impl Ord for NumericBuf
Source§impl PartialEq<&Numeric> for NumericBuf
impl PartialEq<&Numeric> for NumericBuf
Source§impl PartialEq<&NumericBuf> for NumericBuf
impl PartialEq<&NumericBuf> for NumericBuf
Source§impl PartialEq<Numeric> for NumericBuf
impl PartialEq<Numeric> for NumericBuf
Source§impl PartialEq<NumericBuf> for &Numeric
impl PartialEq<NumericBuf> for &Numeric
Source§impl PartialEq<NumericBuf> for &NumericBuf
impl PartialEq<NumericBuf> for &NumericBuf
Source§impl PartialEq<NumericBuf> for Numeric
impl PartialEq<NumericBuf> for Numeric
Source§impl PartialEq for NumericBuf
impl PartialEq for NumericBuf
Source§impl PartialOrd<&Numeric> for NumericBuf
impl PartialOrd<&Numeric> for NumericBuf
Source§impl PartialOrd<&NumericBuf> for NumericBuf
impl PartialOrd<&NumericBuf> for NumericBuf
Source§impl PartialOrd<Numeric> for NumericBuf
impl PartialOrd<Numeric> for NumericBuf
Source§impl PartialOrd<NumericBuf> for &Numeric
impl PartialOrd<NumericBuf> for &Numeric
Source§impl PartialOrd<NumericBuf> for &NumericBuf
impl PartialOrd<NumericBuf> for &NumericBuf
Source§impl PartialOrd<NumericBuf> for Numeric
impl PartialOrd<NumericBuf> for Numeric
Source§impl PartialOrd for NumericBuf
impl PartialOrd for NumericBuf
Source§impl Rem<&Numeric> for &NumericBuf
impl Rem<&Numeric> for &NumericBuf
Source§impl Rem<&Numeric> for NumericBuf
impl Rem<&Numeric> for NumericBuf
Source§impl Rem<&NumericBuf> for &Numeric
impl Rem<&NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
%
operator.Source§impl Rem<&NumericBuf> for &NumericBuf
impl Rem<&NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
%
operator.Source§impl Rem<&NumericBuf> for NumericBuf
impl Rem<&NumericBuf> for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
%
operator.Source§impl Rem<NumericBuf> for &Numeric
impl Rem<NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
%
operator.Source§impl Rem<NumericBuf> for &NumericBuf
impl Rem<NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
%
operator.Source§impl Rem for NumericBuf
impl Rem for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
%
operator.Source§impl RemAssign<&Numeric> for NumericBuf
impl RemAssign<&Numeric> for NumericBuf
Source§fn rem_assign(&mut self, other: &Numeric)
fn rem_assign(&mut self, other: &Numeric)
%=
operation. Read moreSource§impl RemAssign<&NumericBuf> for NumericBuf
impl RemAssign<&NumericBuf> for NumericBuf
Source§fn rem_assign(&mut self, other: &NumericBuf)
fn rem_assign(&mut self, other: &NumericBuf)
%=
operation. Read moreSource§impl RemAssign for NumericBuf
impl RemAssign for NumericBuf
Source§fn rem_assign(&mut self, other: NumericBuf)
fn rem_assign(&mut self, other: NumericBuf)
%=
operation. Read moreSource§impl Sub<&Numeric> for &NumericBuf
impl Sub<&Numeric> for &NumericBuf
Source§impl Sub<&Numeric> for NumericBuf
impl Sub<&Numeric> for NumericBuf
Source§impl Sub<&NumericBuf> for &Numeric
impl Sub<&NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
-
operator.Source§impl Sub<&NumericBuf> for &NumericBuf
impl Sub<&NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
-
operator.Source§impl Sub<&NumericBuf> for NumericBuf
impl Sub<&NumericBuf> for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
-
operator.Source§impl Sub<NumericBuf> for &Numeric
impl Sub<NumericBuf> for &Numeric
Source§type Output = NumericBuf
type Output = NumericBuf
-
operator.Source§impl Sub<NumericBuf> for &NumericBuf
impl Sub<NumericBuf> for &NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
-
operator.Source§impl Sub for NumericBuf
impl Sub for NumericBuf
Source§type Output = NumericBuf
type Output = NumericBuf
-
operator.Source§impl SubAssign<&Numeric> for NumericBuf
impl SubAssign<&Numeric> for NumericBuf
Source§fn sub_assign(&mut self, other: &Numeric)
fn sub_assign(&mut self, other: &Numeric)
-=
operation. Read moreSource§impl SubAssign<&NumericBuf> for NumericBuf
impl SubAssign<&NumericBuf> for NumericBuf
Source§fn sub_assign(&mut self, other: &NumericBuf)
fn sub_assign(&mut self, other: &NumericBuf)
-=
operation. Read moreSource§impl SubAssign for NumericBuf
impl SubAssign for NumericBuf
Source§fn sub_assign(&mut self, other: NumericBuf)
fn sub_assign(&mut self, other: NumericBuf)
-=
operation. Read more