pub struct FloatContext { /* private fields */ }Expand description
Precision context for native BigFloat computations.
Stores precision (bits) and rounding together so that a single
FloatContext value can be used across multiple transcendental calls
without repeating the parameters.
Implementations§
Source§impl FloatContext
impl FloatContext
Sourcepub fn new(precision: u32) -> Self
pub fn new(precision: u32) -> Self
Create a context with the given precision in bits and
RoundingMode::HalfEven rounding.
§Panics
Panics if precision == 0 (the BigFloat precision invariant requires
prec > 0).
Sourcepub fn with_rounding(self, mode: RoundingMode) -> Self
pub fn with_rounding(self, mode: RoundingMode) -> Self
Return a new context identical to self but with rounding replaced.
Uses the builder pattern so callers can chain:
use oxinum_float::native::{FloatContext, RoundingMode};
let ctx = FloatContext::new(128).with_rounding(RoundingMode::ToInf);
assert_eq!(ctx.rounding(), RoundingMode::ToInf);Sourcepub fn rounding(&self) -> RoundingMode
pub fn rounding(&self) -> RoundingMode
Returns the rounding mode stored in this context.
Sourcepub fn sqrt(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
pub fn sqrt(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
Return sqrt(x) at the context precision.
Sourcepub fn exp(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
pub fn exp(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
Return e^x at the context precision.
Sourcepub fn ln(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
pub fn ln(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
Return ln(x) at the context precision.
Sourcepub fn log(&self, x: &BigFloat, base: &BigFloat) -> OxiNumResult<BigFloat>
pub fn log(&self, x: &BigFloat, base: &BigFloat) -> OxiNumResult<BigFloat>
Return log_base(x) at the context precision.
Sourcepub fn pow(&self, x: &BigFloat, exp: &BigFloat) -> OxiNumResult<BigFloat>
pub fn pow(&self, x: &BigFloat, exp: &BigFloat) -> OxiNumResult<BigFloat>
Return x^exp at the context precision.
Sourcepub fn sin(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
pub fn sin(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
Return sin(x) at the context precision.
Sourcepub fn cos(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
pub fn cos(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
Return cos(x) at the context precision.
Sourcepub fn tan(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
pub fn tan(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
Return tan(x) at the context precision.
Sourcepub fn atan(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
pub fn atan(&self, x: &BigFloat) -> OxiNumResult<BigFloat>
Return atan(x) at the context precision.
Sourcepub fn atan2(&self, y: &BigFloat, x: &BigFloat) -> OxiNumResult<BigFloat>
pub fn atan2(&self, y: &BigFloat, x: &BigFloat) -> OxiNumResult<BigFloat>
Return atan2(y, x) at the context precision.
y is the first argument (self in the inherent method sense);
x is the second.
Sourcepub fn pi(&self) -> OxiNumResult<BigFloat>
pub fn pi(&self) -> OxiNumResult<BigFloat>
Return π at the context precision.
Sourcepub fn e_const(&self) -> OxiNumResult<BigFloat>
pub fn e_const(&self) -> OxiNumResult<BigFloat>
Return e (Euler’s number) at the context precision.
Sourcepub fn ln2(&self) -> OxiNumResult<BigFloat>
pub fn ln2(&self) -> OxiNumResult<BigFloat>
Return ln 2 at the context precision.
Trait Implementations§
Source§impl Clone for FloatContext
impl Clone for FloatContext
Source§fn clone(&self) -> FloatContext
fn clone(&self) -> FloatContext
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FloatContext
impl Debug for FloatContext
Source§impl PartialEq for FloatContext
impl PartialEq for FloatContext
Source§fn eq(&self, other: &FloatContext) -> bool
fn eq(&self, other: &FloatContext) -> bool
self and other values to be equal, and is used by ==.