Skip to main content

FloatContext

Struct FloatContext 

Source
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

Source

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).

Source

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);
Source

pub fn precision(&self) -> u32

Returns the precision (bits) stored in this context.

Source

pub fn rounding(&self) -> RoundingMode

Returns the rounding mode stored in this context.

Source

pub fn sqrt(&self, x: &BigFloat) -> OxiNumResult<BigFloat>

Return sqrt(x) at the context precision.

Source

pub fn exp(&self, x: &BigFloat) -> OxiNumResult<BigFloat>

Return e^x at the context precision.

Source

pub fn ln(&self, x: &BigFloat) -> OxiNumResult<BigFloat>

Return ln(x) at the context precision.

Source

pub fn log(&self, x: &BigFloat, base: &BigFloat) -> OxiNumResult<BigFloat>

Return log_base(x) at the context precision.

Source

pub fn pow(&self, x: &BigFloat, exp: &BigFloat) -> OxiNumResult<BigFloat>

Return x^exp at the context precision.

Source

pub fn sin(&self, x: &BigFloat) -> OxiNumResult<BigFloat>

Return sin(x) at the context precision.

Source

pub fn cos(&self, x: &BigFloat) -> OxiNumResult<BigFloat>

Return cos(x) at the context precision.

Source

pub fn tan(&self, x: &BigFloat) -> OxiNumResult<BigFloat>

Return tan(x) at the context precision.

Source

pub fn atan(&self, x: &BigFloat) -> OxiNumResult<BigFloat>

Return atan(x) at the context precision.

Source

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.

Source

pub fn pi(&self) -> OxiNumResult<BigFloat>

Return π at the context precision.

Source

pub fn e_const(&self) -> OxiNumResult<BigFloat>

Return e (Euler’s number) at the context precision.

Source

pub fn ln2(&self) -> OxiNumResult<BigFloat>

Return ln 2 at the context precision.

Trait Implementations§

Source§

impl Clone for FloatContext

Source§

fn clone(&self) -> FloatContext

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FloatContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for FloatContext

Source§

fn eq(&self, other: &FloatContext) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for FloatContext

Source§

impl Eq for FloatContext

Source§

impl StructuralPartialEq for FloatContext

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.