Struct peroxide::structure::polynomial::Polynomial
source · [−]Expand description
Polynomial Structure
Fields
coef: Vec<f64>
Implementations
sourceimpl Polynomial
impl Polynomial
sourcepub fn eval<T>(&self, x: T) -> f64 where
T: Into<f64> + Copy,
pub fn eval<T>(&self, x: T) -> f64 where
T: Into<f64> + Copy,
Evaluate polynomial with value according to Horner’s method
Examples
#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;
fn main() {
let a = poly(c!(1,3,2));
assert_eq!(a.eval(1), 6_f64);
let b = poly(c!(1, 1, -2, -2));
let x = 2_f64.sqrt();
let horner_evaluation = b.eval(x);
let naive_evaluation = x.powf(3.0) + x.powf(2.0) - 2.0*x - 2.0;
assert_eq!(horner_evaluation, 0_f64);
assert_ne!(naive_evaluation, horner_evaluation);
}
pub fn eval_vec(&self, v: Vec<f64>) -> Vec<f64>
sourcepub fn translate_x<X>(&self, x: X) -> Self where
X: Into<f64> + Copy,
pub fn translate_x<X>(&self, x: X) -> Self where
X: Into<f64> + Copy,
Linear transformation of a polynomial by a given x according to Horner’s method
Examples
#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;
fn main() {
let a = poly(c!(1,3,2));
let translated = a.translate_x(2);
assert_eq!(translated.eval(3), 6_f64);
}
pub fn horner_division(&self, other: &Self) -> (Self, f64)
Trait Implementations
sourceimpl Add<Polynomial> for Polynomial
impl Add<Polynomial> for Polynomial
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the +
operator.
sourceimpl<T> Add<T> for Polynomial where
T: Into<f64> + Copy,
impl<T> Add<T> for Polynomial where
T: Into<f64> + Copy,
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the +
operator.
sourceimpl Calculus for Polynomial
impl Calculus for Polynomial
sourceimpl Clone for Polynomial
impl Clone for Polynomial
sourcefn clone(&self) -> Polynomial
fn clone(&self) -> Polynomial
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for Polynomial
impl Debug for Polynomial
sourceimpl Default for Polynomial
impl Default for Polynomial
sourcefn default() -> Polynomial
fn default() -> Polynomial
Returns the “default value” for a type. Read more
sourceimpl Display for Polynomial
impl Display for Polynomial
Polynomial Print
Examples
#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;
fn main() {
let a = poly(c!(1,3,2));
a.print(); //x^2 + 3x + 2
}
sourceimpl Div<Polynomial> for Polynomial
impl Div<Polynomial> for Polynomial
type Output = (Polynomial, Polynomial)
type Output = (Polynomial, Polynomial)
The resulting type after applying the /
operator.
sourceimpl<T> Div<T> for Polynomial where
T: Into<f64> + Copy,
impl<T> Div<T> for Polynomial where
T: Into<f64> + Copy,
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the /
operator.
sourceimpl Mul<Polynomial> for Polynomial
impl Mul<Polynomial> for Polynomial
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the *
operator.
sourceimpl Mul<Polynomial> for usize
impl Mul<Polynomial> for usize
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: Polynomial) -> Self::Output
fn mul(self, rhs: Polynomial) -> Self::Output
Performs the *
operation. Read more
sourceimpl Mul<Polynomial> for i32
impl Mul<Polynomial> for i32
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: Polynomial) -> Self::Output
fn mul(self, rhs: Polynomial) -> Self::Output
Performs the *
operation. Read more
sourceimpl Mul<Polynomial> for i64
impl Mul<Polynomial> for i64
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: Polynomial) -> Self::Output
fn mul(self, rhs: Polynomial) -> Self::Output
Performs the *
operation. Read more
sourceimpl Mul<Polynomial> for f32
impl Mul<Polynomial> for f32
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: Polynomial) -> Self::Output
fn mul(self, rhs: Polynomial) -> Self::Output
Performs the *
operation. Read more
sourceimpl Mul<Polynomial> for f64
impl Mul<Polynomial> for f64
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the *
operator.
sourcefn mul(self, rhs: Polynomial) -> Self::Output
fn mul(self, rhs: Polynomial) -> Self::Output
Performs the *
operation. Read more
sourceimpl<T> Mul<T> for Polynomial where
T: Into<f64> + Copy,
impl<T> Mul<T> for Polynomial where
T: Into<f64> + Copy,
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the *
operator.
sourceimpl Neg for Polynomial
impl Neg for Polynomial
sourceimpl PowOps for Polynomial
impl PowOps for Polynomial
sourceimpl Printable for Polynomial
impl Printable for Polynomial
sourceimpl Sub<Polynomial> for Polynomial
impl Sub<Polynomial> for Polynomial
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the -
operator.
sourceimpl<T> Sub<T> for Polynomial where
T: Into<f64> + Copy,
impl<T> Sub<T> for Polynomial where
T: Into<f64> + Copy,
type Output = Polynomial
type Output = Polynomial
The resulting type after applying the -
operator.
impl Environment for Polynomial
Auto Trait Implementations
impl RefUnwindSafe for Polynomial
impl Send for Polynomial
impl Sync for Polynomial
impl Unpin for Polynomial
impl UnwindSafe for Polynomial
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more