Skip to content

Instantly share code, notes, and snippets.

@derekdreery
Created December 27, 2013 01:53
Show Gist options
  • Save derekdreery/8141373 to your computer and use it in GitHub Desktop.
Save derekdreery/8141373 to your computer and use it in GitHub Desktop.
dot product
fn dot<T: Add<T, T> + Mul<T, T> + Zero>(u: ~[T], v: ~[T]) -> T {
let mut acc = Zero::zero();
let mut it = u.iter().zip(v.iter());
loop {
match it.next() {
Some((u, v)) => { acc = acc + *u * *v }
_ => { break; }
}
}
acc
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment