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);
}
Trait Implementations
sourceimpl Add<Polynomial> for Polynomial
impl Add<Polynomial> 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
sourceimpl Mul<Polynomial> for Polynomial
impl Mul<Polynomial> for Polynomial
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 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
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 · sourcepub fn borrow_mut(&mut self) -> &mut T
pub 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.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more