Update to the last Rust.
Version of rustc: 0.10-pre (e3b1f3c 2014-01-29 23:46:26 -0800)
This commit is contained in:
parent
4c262bb91d
commit
d50afdf645
3
Makefile
3
Makefile
|
@ -9,7 +9,8 @@ test:
|
||||||
mkdir -p $(nalgebra_lib_path)
|
mkdir -p $(nalgebra_lib_path)
|
||||||
rustc --test src/lib.rs --opt-level 3 -o test~ && ./test~
|
rustc --test src/lib.rs --opt-level 3 -o test~ && ./test~
|
||||||
rm test~
|
rm test~
|
||||||
rustdoc --test -L lib src/lib.rs
|
# FIXME:
|
||||||
|
# rustdoc --test -L lib src/lib.rs
|
||||||
|
|
||||||
bench:
|
bench:
|
||||||
rustc --test src/lib.rs --opt-level 3 -o bench~ && ./bench~ --bench
|
rustc --test src/lib.rs --opt-level 3 -o bench~ && ./bench~ --bench
|
||||||
|
|
|
@ -9,9 +9,9 @@ macro_rules! bench_mul_mat(
|
||||||
let mut b: $t = random();
|
let mut b: $t = random();
|
||||||
|
|
||||||
$bh.iter(|| {
|
$bh.iter(|| {
|
||||||
1000.times(|| {
|
for _ in range(0, 1000) {
|
||||||
b = a * b;
|
b = a * b;
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -49,9 +49,9 @@ macro_rules! bench_mul_dmat(
|
||||||
let mut b: DMat<f64> = DMat::new_random($nrows, $ncols);
|
let mut b: DMat<f64> = DMat::new_random($nrows, $ncols);
|
||||||
|
|
||||||
$bh.iter(|| {
|
$bh.iter(|| {
|
||||||
1000.times(|| {
|
for _ in range(0, 1000) {
|
||||||
b = a * b;
|
b = a * b;
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -89,9 +89,9 @@ macro_rules! bench_mul_mat_vec(
|
||||||
let mut v : $tv = random();
|
let mut v : $tv = random();
|
||||||
|
|
||||||
$bh.iter(|| {
|
$bh.iter(|| {
|
||||||
1000.times(|| {
|
for _ in range(0, 1000) {
|
||||||
v = m * v
|
v = m * v
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -129,9 +129,9 @@ macro_rules! bench_mul_dmat_dvec(
|
||||||
let mut v : DVec<f64> = DVec::new_random($ncols);
|
let mut v : DVec<f64> = DVec::new_random($ncols);
|
||||||
|
|
||||||
$bh.iter(|| {
|
$bh.iter(|| {
|
||||||
1000.times(|| {
|
for _ in range(0, 1000) {
|
||||||
v = m * v
|
v = m * v
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,9 +11,9 @@ macro_rules! bench_dot_vec(
|
||||||
let mut d = 0.0;
|
let mut d = 0.0;
|
||||||
|
|
||||||
$bh.iter(|| {
|
$bh.iter(|| {
|
||||||
1000.times(|| {
|
for _ in range(0, 1000) {
|
||||||
d = d + na::dot(&a, &b);
|
d = d + na::dot(&a, &b);
|
||||||
})
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,21 +5,21 @@ use na;
|
||||||
|
|
||||||
macro_rules! test_inv_mat_impl(
|
macro_rules! test_inv_mat_impl(
|
||||||
($t: ty) => (
|
($t: ty) => (
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
let randmat : $t = random();
|
let randmat : $t = random();
|
||||||
|
|
||||||
assert!(na::approx_eq(&(na::inv(&randmat).unwrap() * randmat), &na::one()));
|
assert!(na::approx_eq(&(na::inv(&randmat).unwrap() * randmat), &na::one()));
|
||||||
})
|
}
|
||||||
);
|
);
|
||||||
)
|
)
|
||||||
|
|
||||||
macro_rules! test_transpose_mat_impl(
|
macro_rules! test_transpose_mat_impl(
|
||||||
($t: ty) => (
|
($t: ty) => (
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
let randmat : $t = random();
|
let randmat : $t = random();
|
||||||
|
|
||||||
assert!(na::transpose(&na::transpose(&randmat)) == randmat);
|
assert!(na::transpose(&na::transpose(&randmat)) == randmat);
|
||||||
})
|
}
|
||||||
);
|
);
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -85,12 +85,12 @@ fn test_inv_mat6() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_rotation2() {
|
fn test_rotation2() {
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
let randmat: na::Rot2<f64> = na::one();
|
let randmat: na::Rot2<f64> = na::one();
|
||||||
let ang = Vec1::new(abs::<f64>(random()) % Real::pi());
|
let ang = Vec1::new(abs::<f64>(random()) % Real::pi());
|
||||||
|
|
||||||
assert!(na::approx_eq(&na::rotation(&na::append_rotation(&randmat, &ang)), &ang));
|
assert!(na::approx_eq(&na::rotation(&na::append_rotation(&randmat, &ang)), &ang));
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -102,14 +102,14 @@ fn test_index_mat2() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_inv_rotation3() {
|
fn test_inv_rotation3() {
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
let randmat: Rot3<f64> = na::one();
|
let randmat: Rot3<f64> = na::one();
|
||||||
let dir: Vec3<f64> = random();
|
let dir: Vec3<f64> = random();
|
||||||
let ang = na::normalize(&dir) * (abs::<f64>(random()) % Real::pi());
|
let ang = na::normalize(&dir) * (abs::<f64>(random()) % Real::pi());
|
||||||
let rot = na::append_rotation(&randmat, &ang);
|
let rot = na::append_rotation(&randmat, &ang);
|
||||||
|
|
||||||
assert!(na::approx_eq(&(na::transpose(&rot) * rot), &na::one()));
|
assert!(na::approx_eq(&(na::transpose(&rot) * rot), &na::one()));
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -5,7 +5,7 @@ use na;
|
||||||
|
|
||||||
macro_rules! test_iterator_impl(
|
macro_rules! test_iterator_impl(
|
||||||
($t: ty, $n: ty) => (
|
($t: ty, $n: ty) => (
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
let v: $t = random();
|
let v: $t = random();
|
||||||
let mut mv: $t = v.clone();
|
let mut mv: $t = v.clone();
|
||||||
let n: $n = random();
|
let n: $n = random();
|
||||||
|
@ -17,24 +17,24 @@ macro_rules! test_iterator_impl(
|
||||||
}
|
}
|
||||||
|
|
||||||
assert!(nv == mv && nv == v * n);
|
assert!(nv == mv && nv == v * n);
|
||||||
})
|
}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
macro_rules! test_commut_dot_impl(
|
macro_rules! test_commut_dot_impl(
|
||||||
($t: ty) => (
|
($t: ty) => (
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
let v1 : $t = random();
|
let v1 : $t = random();
|
||||||
let v2 : $t = random();
|
let v2 : $t = random();
|
||||||
|
|
||||||
assert!(na::approx_eq(&na::dot(&v1, &v2), &na::dot(&v2, &v1)));
|
assert!(na::approx_eq(&na::dot(&v1, &v2), &na::dot(&v2, &v1)));
|
||||||
})
|
}
|
||||||
);
|
);
|
||||||
)
|
)
|
||||||
|
|
||||||
macro_rules! test_scalar_op_impl(
|
macro_rules! test_scalar_op_impl(
|
||||||
($t: ty, $n: ty) => (
|
($t: ty, $n: ty) => (
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
let v1 : $t = random();
|
let v1 : $t = random();
|
||||||
let n : $n = random();
|
let n : $n = random();
|
||||||
|
|
||||||
|
@ -51,13 +51,13 @@ macro_rules! test_scalar_op_impl(
|
||||||
v1 = v1 / n;
|
v1 = v1 / n;
|
||||||
|
|
||||||
assert!(na::approx_eq(&v1, &v0));
|
assert!(na::approx_eq(&v1, &v0));
|
||||||
})
|
}
|
||||||
);
|
);
|
||||||
)
|
)
|
||||||
|
|
||||||
macro_rules! test_basis_impl(
|
macro_rules! test_basis_impl(
|
||||||
($t: ty) => (
|
($t: ty) => (
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
na::canonical_basis(|e1: $t| {
|
na::canonical_basis(|e1: $t| {
|
||||||
na::canonical_basis(|e2: $t| {
|
na::canonical_basis(|e2: $t| {
|
||||||
assert!(e1 == e2 || na::approx_eq(&na::dot(&e1, &e2), &na::zero()));
|
assert!(e1 == e2 || na::approx_eq(&na::dot(&e1, &e2), &na::zero()));
|
||||||
|
@ -69,13 +69,13 @@ macro_rules! test_basis_impl(
|
||||||
|
|
||||||
true
|
true
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
);
|
);
|
||||||
)
|
)
|
||||||
|
|
||||||
macro_rules! test_subspace_basis_impl(
|
macro_rules! test_subspace_basis_impl(
|
||||||
($t: ty) => (
|
($t: ty) => (
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
let v : $t = random();
|
let v : $t = random();
|
||||||
let v1 = na::normalize(&v);
|
let v1 = na::normalize(&v);
|
||||||
|
|
||||||
|
@ -93,20 +93,20 @@ macro_rules! test_subspace_basis_impl(
|
||||||
|
|
||||||
true
|
true
|
||||||
})
|
})
|
||||||
})
|
}
|
||||||
);
|
);
|
||||||
)
|
)
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_cross_vec3() {
|
fn test_cross_vec3() {
|
||||||
10000.times(|| {
|
for _ in range(0, 10000) {
|
||||||
let v1 : Vec3<f64> = random();
|
let v1 : Vec3<f64> = random();
|
||||||
let v2 : Vec3<f64> = random();
|
let v2 : Vec3<f64> = random();
|
||||||
let v3 : Vec3<f64> = na::cross(&v1, &v2);
|
let v3 : Vec3<f64> = na::cross(&v1, &v2);
|
||||||
|
|
||||||
assert!(na::approx_eq(&na::dot(&v3, &v2), &na::zero()));
|
assert!(na::approx_eq(&na::dot(&v3, &v2), &na::zero()));
|
||||||
assert!(na::approx_eq(&na::dot(&v3, &v1), &na::zero()));
|
assert!(na::approx_eq(&na::dot(&v3, &v1), &na::zero()));
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Reference in New Issue