pub trait DecimalTranscendental: Sized {
Show 94 methods
// Required methods
fn ln_strict(self) -> Self;
fn ln_strict_with(self, mode: RoundingMode) -> Self;
fn ln_approx(self, working_digits: u32) -> Self;
fn ln_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn log_strict(self, base: Self) -> Self;
fn log_strict_with(self, base: Self, mode: RoundingMode) -> Self;
fn log_approx(self, base: Self, working_digits: u32) -> Self;
fn log_approx_with(
self,
base: Self,
working_digits: u32,
mode: RoundingMode,
) -> Self;
fn log2_strict(self) -> Self;
fn log2_strict_with(self, mode: RoundingMode) -> Self;
fn log2_approx(self, working_digits: u32) -> Self;
fn log2_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn log10_strict(self) -> Self;
fn log10_strict_with(self, mode: RoundingMode) -> Self;
fn log10_approx(self, working_digits: u32) -> Self;
fn log10_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn exp_strict(self) -> Self;
fn exp_strict_with(self, mode: RoundingMode) -> Self;
fn exp_approx(self, working_digits: u32) -> Self;
fn exp_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn exp2_strict(self) -> Self;
fn exp2_strict_with(self, mode: RoundingMode) -> Self;
fn exp2_approx(self, working_digits: u32) -> Self;
fn exp2_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn powf_strict(self, exp: Self) -> Self;
fn powf_strict_with(self, exp: Self, mode: RoundingMode) -> Self;
fn powf_approx(self, exp: Self, working_digits: u32) -> Self;
fn powf_approx_with(
self,
exp: Self,
working_digits: u32,
mode: RoundingMode,
) -> Self;
fn sqrt_strict(self) -> Self;
fn sqrt_strict_with(self, mode: RoundingMode) -> Self;
fn cbrt_strict(self) -> Self;
fn cbrt_strict_with(self, mode: RoundingMode) -> Self;
fn hypot_strict(self, other: Self) -> Self;
fn hypot_strict_with(self, other: Self, mode: RoundingMode) -> Self;
fn sin_strict(self) -> Self;
fn sin_strict_with(self, mode: RoundingMode) -> Self;
fn sin_approx(self, working_digits: u32) -> Self;
fn sin_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn cos_strict(self) -> Self;
fn cos_strict_with(self, mode: RoundingMode) -> Self;
fn cos_approx(self, working_digits: u32) -> Self;
fn cos_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn tan_strict(self) -> Self;
fn tan_strict_with(self, mode: RoundingMode) -> Self;
fn tan_approx(self, working_digits: u32) -> Self;
fn tan_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn atan_strict(self) -> Self;
fn atan_strict_with(self, mode: RoundingMode) -> Self;
fn atan_approx(self, working_digits: u32) -> Self;
fn atan_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn asin_strict(self) -> Self;
fn asin_strict_with(self, mode: RoundingMode) -> Self;
fn asin_approx(self, working_digits: u32) -> Self;
fn asin_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn acos_strict(self) -> Self;
fn acos_strict_with(self, mode: RoundingMode) -> Self;
fn acos_approx(self, working_digits: u32) -> Self;
fn acos_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn atan2_strict(self, other: Self) -> Self;
fn atan2_strict_with(self, other: Self, mode: RoundingMode) -> Self;
fn atan2_approx(self, other: Self, working_digits: u32) -> Self;
fn atan2_approx_with(
self,
other: Self,
working_digits: u32,
mode: RoundingMode,
) -> Self;
fn sinh_strict(self) -> Self;
fn sinh_strict_with(self, mode: RoundingMode) -> Self;
fn sinh_approx(self, working_digits: u32) -> Self;
fn sinh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn cosh_strict(self) -> Self;
fn cosh_strict_with(self, mode: RoundingMode) -> Self;
fn cosh_approx(self, working_digits: u32) -> Self;
fn cosh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn tanh_strict(self) -> Self;
fn tanh_strict_with(self, mode: RoundingMode) -> Self;
fn tanh_approx(self, working_digits: u32) -> Self;
fn tanh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn asinh_strict(self) -> Self;
fn asinh_strict_with(self, mode: RoundingMode) -> Self;
fn asinh_approx(self, working_digits: u32) -> Self;
fn asinh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn acosh_strict(self) -> Self;
fn acosh_strict_with(self, mode: RoundingMode) -> Self;
fn acosh_approx(self, working_digits: u32) -> Self;
fn acosh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn atanh_strict(self) -> Self;
fn atanh_strict_with(self, mode: RoundingMode) -> Self;
fn atanh_approx(self, working_digits: u32) -> Self;
fn atanh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self;
fn to_degrees_strict(self) -> Self;
fn to_degrees_strict_with(self, mode: RoundingMode) -> Self;
fn to_degrees_approx(self, working_digits: u32) -> Self;
fn to_degrees_approx_with(
self,
working_digits: u32,
mode: RoundingMode,
) -> Self;
fn to_radians_strict(self) -> Self;
fn to_radians_strict_with(self, mode: RoundingMode) -> Self;
fn to_radians_approx(self, working_digits: u32) -> Self;
fn to_radians_approx_with(
self,
working_digits: u32,
mode: RoundingMode,
) -> Self;
}Expand description
Width-generic transcendental + root surface shared by every decimal width. See the module-level docs for the four-variant matrix convention and the per-method delegation contract.
Required Methods§
Sourcefn ln_strict(self) -> Self
fn ln_strict(self) -> Self
Natural log. See the log/exp implementation module for the algorithm.
fn ln_strict_with(self, mode: RoundingMode) -> Self
fn ln_approx(self, working_digits: u32) -> Self
fn ln_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
Sourcefn log_strict(self, base: Self) -> Self
fn log_strict(self, base: Self) -> Self
Log to caller-chosen base.
fn log_strict_with(self, base: Self, mode: RoundingMode) -> Self
fn log_approx(self, base: Self, working_digits: u32) -> Self
fn log_approx_with( self, base: Self, working_digits: u32, mode: RoundingMode, ) -> Self
Sourcefn log2_strict(self) -> Self
fn log2_strict(self) -> Self
Log base 2.
fn log2_strict_with(self, mode: RoundingMode) -> Self
fn log2_approx(self, working_digits: u32) -> Self
fn log2_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
Sourcefn log10_strict(self) -> Self
fn log10_strict(self) -> Self
Log base 10.
fn log10_strict_with(self, mode: RoundingMode) -> Self
fn log10_approx(self, working_digits: u32) -> Self
fn log10_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn exp_strict(self) -> Self
fn exp_strict_with(self, mode: RoundingMode) -> Self
fn exp_approx(self, working_digits: u32) -> Self
fn exp_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn exp2_strict(self) -> Self
fn exp2_strict_with(self, mode: RoundingMode) -> Self
fn exp2_approx(self, working_digits: u32) -> Self
fn exp2_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn powf_strict(self, exp: Self) -> Self
fn powf_strict_with(self, exp: Self, mode: RoundingMode) -> Self
fn powf_approx(self, exp: Self, working_digits: u32) -> Self
fn powf_approx_with( self, exp: Self, working_digits: u32, mode: RoundingMode, ) -> Self
fn sqrt_strict(self) -> Self
fn sqrt_strict_with(self, mode: RoundingMode) -> Self
fn cbrt_strict(self) -> Self
fn cbrt_strict_with(self, mode: RoundingMode) -> Self
fn hypot_strict(self, other: Self) -> Self
fn hypot_strict_with(self, other: Self, mode: RoundingMode) -> Self
fn sin_strict(self) -> Self
fn sin_strict_with(self, mode: RoundingMode) -> Self
fn sin_approx(self, working_digits: u32) -> Self
fn sin_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn cos_strict(self) -> Self
fn cos_strict_with(self, mode: RoundingMode) -> Self
fn cos_approx(self, working_digits: u32) -> Self
fn cos_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn tan_strict(self) -> Self
fn tan_strict_with(self, mode: RoundingMode) -> Self
fn tan_approx(self, working_digits: u32) -> Self
fn tan_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn atan_strict(self) -> Self
fn atan_strict_with(self, mode: RoundingMode) -> Self
fn atan_approx(self, working_digits: u32) -> Self
fn atan_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn asin_strict(self) -> Self
fn asin_strict_with(self, mode: RoundingMode) -> Self
fn asin_approx(self, working_digits: u32) -> Self
fn asin_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn acos_strict(self) -> Self
fn acos_strict_with(self, mode: RoundingMode) -> Self
fn acos_approx(self, working_digits: u32) -> Self
fn acos_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
Sourcefn atan2_strict(self, other: Self) -> Self
fn atan2_strict(self, other: Self) -> Self
atan2(self, other) — matches the f64 convention where
self is y and other is x.
fn atan2_strict_with(self, other: Self, mode: RoundingMode) -> Self
fn atan2_approx(self, other: Self, working_digits: u32) -> Self
fn atan2_approx_with( self, other: Self, working_digits: u32, mode: RoundingMode, ) -> Self
fn sinh_strict(self) -> Self
fn sinh_strict_with(self, mode: RoundingMode) -> Self
fn sinh_approx(self, working_digits: u32) -> Self
fn sinh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn cosh_strict(self) -> Self
fn cosh_strict_with(self, mode: RoundingMode) -> Self
fn cosh_approx(self, working_digits: u32) -> Self
fn cosh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn tanh_strict(self) -> Self
fn tanh_strict_with(self, mode: RoundingMode) -> Self
fn tanh_approx(self, working_digits: u32) -> Self
fn tanh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn asinh_strict(self) -> Self
fn asinh_strict_with(self, mode: RoundingMode) -> Self
fn asinh_approx(self, working_digits: u32) -> Self
fn asinh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn acosh_strict(self) -> Self
fn acosh_strict_with(self, mode: RoundingMode) -> Self
fn acosh_approx(self, working_digits: u32) -> Self
fn acosh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn atanh_strict(self) -> Self
fn atanh_strict_with(self, mode: RoundingMode) -> Self
fn atanh_approx(self, working_digits: u32) -> Self
fn atanh_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn to_degrees_strict(self) -> Self
fn to_degrees_strict_with(self, mode: RoundingMode) -> Self
fn to_degrees_approx(self, working_digits: u32) -> Self
fn to_degrees_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
fn to_radians_strict(self) -> Self
fn to_radians_strict_with(self, mode: RoundingMode) -> Self
fn to_radians_approx(self, working_digits: u32) -> Self
fn to_radians_approx_with(self, working_digits: u32, mode: RoundingMode) -> Self
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.