[][src]Trait peroxide::traits::sugar::VecOps

pub trait VecOps: Vector {
    type Scalar;
    fn add_v(&self, v: &Self) -> Self;
fn sub_v(&self, v: &Self) -> Self;
fn mul_v(&self, v: &Self) -> Self;
fn div_v(&self, v: &Self) -> Self;
fn add_s(&self, s: Self::Scalar) -> Self;
fn sub_s(&self, s: Self::Scalar) -> Self;
fn mul_s(&self, s: Self::Scalar) -> Self;
fn div_s(&self, s: Self::Scalar) -> Self; }

Syntactic sugar for Vector operations

Associated Types

type Scalar

Loading content...

Required methods

fn add_v(&self, v: &Self) -> Self

fn sub_v(&self, v: &Self) -> Self

fn mul_v(&self, v: &Self) -> Self

fn div_v(&self, v: &Self) -> Self

fn add_s(&self, s: Self::Scalar) -> Self

fn sub_s(&self, s: Self::Scalar) -> Self

fn mul_s(&self, s: Self::Scalar) -> Self

fn div_s(&self, s: Self::Scalar) -> Self

Loading content...

Implementations on Foreign Types

impl VecOps for Vec<f64>[src]

type Scalar = f64

fn add_v(&self, v: &Self) -> Self[src]

Vector + Vector

#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = c!(1,2,3,4,5);
    let b = c!(5,4,3,2,1);
    assert_eq!(a.add_v(&b), c!(6,6,6,6,6));
}

fn sub_v(&self, v: &Self) -> Self[src]

Vector - Vector

#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = c!(1,2,3,4,5);
    let b = c!(5,4,3,2,1);
    assert_eq!(a.sub_v(&b), c!(-4, -2, 0, 2, 4));
}

fn mul_v(&self, v: &Self) -> Self[src]

Vector * Vector

#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = c!(1,2,3,4,5);
    let b = c!(5,4,3,2,1);
    assert_eq!(a.mul_v(&b), c!(5, 8, 9, 8, 5));
}

fn div_v(&self, v: &Self) -> Self[src]

Vector / Vector

#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = c!(2, 4, 6, 8, 10);
    let b = c!(2, 2, 2, 2, 2);
    assert_eq!(a.div_v(&b), c!(1,2,3,4,5));
}

fn add_s(&self, s: Self::Scalar) -> Self[src]

Vector + Scalar

#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = c!(1,2,3,4,5);
    let b = 1f64;
    assert_eq!(a.add_s(b), c!(2,3,4,5,6));
}

fn sub_s(&self, s: Self::Scalar) -> Self[src]

Vector - Scalar

#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = c!(1,2,3,4,5);
    let b = 1f64;
    assert_eq!(a.sub_s(b), c!(0,1,2,3,4));
}

fn mul_s(&self, s: Self::Scalar) -> Self[src]

Vector * Scalar

#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = c!(1,2,3,4,5);
    let b = 2f64;
    assert_eq!(a.mul_s(b), c!(2,4,6,8,10));
}

fn div_s(&self, s: Self::Scalar) -> Self[src]

Vector / Scalar

#[macro_use]
extern crate peroxide;
use peroxide::fuga::*;

fn main() {
    let a = c!(2,4,6,8,10);
    let b = 2f64;
    assert_eq!(a.div_s(b), c!(1,2,3,4,5));
}
Loading content...

Implementors

Loading content...