Trait vecfx::VecFloatExt

source ·
pub trait VecFloatExt {
    // Required methods
    fn vecadd(&mut self, x: &[f64], c: f64);
    fn vecdot(&self, other: &[f64]) -> f64;
    fn veccpy(&mut self, x: &[f64]);
    fn vecncpy(&mut self, x: &[f64]);
    fn vecdiff(&mut self, x: &[f64], y: &[f64]);
    fn vecscale(&mut self, c: f64);
    fn vec2norm(&self) -> f64;
    fn vec2norminv(&self) -> f64;
    fn vecdist_squared(&self, other: &[f64]) -> f64;

    // Provided method
    fn vecdist(&self, other: &[f64]) -> f64 { ... }
}
Expand description

Abstracting simple vector based math operations

Required Methods§

source

fn vecadd(&mut self, x: &[f64], c: f64)

y += c*x

source

fn vecdot(&self, other: &[f64]) -> f64

vector dot product s = x.dot(y)

source

fn veccpy(&mut self, x: &[f64])

y = z

source

fn vecncpy(&mut self, x: &[f64])

y = -x

source

fn vecdiff(&mut self, x: &[f64], y: &[f64])

z = x - y

source

fn vecscale(&mut self, c: f64)

y *= c

source

fn vec2norm(&self) -> f64

||x||, L2 norm

source

fn vec2norminv(&self) -> f64

1 / ||x||

source

fn vecdist_squared(&self, other: &[f64]) -> f64

d = ||a-b||^2

Provided Methods§

source

fn vecdist(&self, other: &[f64]) -> f64

d = ||a-b||

Implementations on Foreign Types§

source§

impl VecFloatExt for [f64]

source§

fn vecadd(&mut self, x: &[f64], c: f64)

y += c*x

source§

fn vecdot(&self, other: &[f64]) -> f64

s = y.dot(x)

source§

fn vecscale(&mut self, c: f64)

y *= c

source§

fn veccpy(&mut self, x: &[f64])

y = x

source§

fn vecncpy(&mut self, x: &[f64])

y = -x

source§

fn vecdiff(&mut self, x: &[f64], y: &[f64])

z = x - y

source§

fn vec2norm(&self) -> f64

||x||, L2 norm

source§

fn vec2norminv(&self) -> f64

1/||x||

source§

fn vecdist_squared(&self, other: &[f64]) -> f64

d = ||a-b||^2

Implementors§