Struct math_functions::F2D

source ·
pub struct F2D(_);
Expand description

Representation of a function with 2 variables

Implementations§

source§

impl F2D

source

pub fn build(input: &str, ctx: &Context<'_>) -> Result<Self, ParsingError>

Builds a F2D from a string and a context (meaning that you can use already created functions)

use math_functions::{F1D,F2D,F3D, context::Context};
use std::str::FromStr;

let func = F1D::from_str("x^2").unwrap();
let mut ctx = Context::new();

ctx.add_f1d("POWER", &func);

let func2 = F2D::build("y(POWER+POWER)", &ctx).unwrap();

assert_eq!(func2, F2D::from_str("y(x^2+x^2)").unwrap());
source

pub fn eval(&self, x: f64, y: f64) -> f64

Evaluate F2D at a given (x,y)

use math_functions::{F2D,approx};
use std::str::FromStr;

let func = F2D::from_str("ysin(x)").unwrap();

assert_eq!(approx(func.eval(2., 0.5), 5), 0.45465);
source

pub fn derivative(&self) -> Vec2<Self>

Computes the derivative of a F2D

use math_functions::{F2D, Vec2};
use std::str::FromStr;

let func = F2D::from_str("yln(x)").unwrap();

assert_eq!(func.derivative(), Vec2{ x: F2D::from_str("y/x").unwrap(), y:
F2D::from_str("ln(x)").unwrap()});
source§

impl F2D

source

pub fn powf(self, exp: f64) -> Self

Raise function to a f64

Trait Implementations§

source§

impl Add<F2D> for F2D

§

type Output = F2D

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
source§

impl Debug for F2D

source§

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

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

impl Display for F2D

source§

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

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

impl Div<F2D> for F2D

§

type Output = F2D

The resulting type after applying the / operator.
source§

fn div(self, rhs: Self) -> Self

Performs the / operation. Read more
source§

impl FromStr for F2D

§

type Err = ParsingError

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Mul<F2D> for F2D

§

type Output = F2D

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
source§

impl PartialEq<F2D> for F2D

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Sub<F2D> for F2D

§

type Output = F2D

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more
source§

impl StructuralPartialEq for F2D

Auto Trait Implementations§

§

impl RefUnwindSafe for F2D

§

impl Send for F2D

§

impl Sync for F2D

§

impl Unpin for F2D

§

impl UnwindSafe for F2D

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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 Twhere U: TryFrom<T>,

§

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.