Update to the last rust-nightly.

Version of rustc: 0.11.0-nightly (459f155f81291c46633e86a480628b50304ffb1c 2014-07-04 23:46:44 +0000).
This commit is contained in:
Sébastien Crozet 2014-07-05 10:24:43 +02:00
parent 997cd4f888
commit 7b9a3f2bb9
8 changed files with 72 additions and 72 deletions

View File

@ -2,7 +2,7 @@
name = "nalgebra" name = "nalgebra"
version = "0.1.0" version = "0.1.0"
authors = [ "developer@crozet.re" ] authors = [ "Sébastien Crozet <developer@crozet.re>" ] # FIXME: add the contributors.
[[lib]] [[lib]]

View File

@ -9,7 +9,7 @@ macro_rules! bench_mul_mat(
let mut b: $t = random(); let mut b: $t = random();
$bh.iter(|| { $bh.iter(|| {
for _ in range(0, 1000) { for _ in range(0u, 1000) {
b = a * b; b = a * b;
} }
}) })
@ -49,7 +49,7 @@ 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(|| {
for _ in range(0, 1000) { for _ in range(0u, 1000) {
b = a * b; b = a * b;
} }
}) })
@ -89,7 +89,7 @@ macro_rules! bench_mul_mat_vec(
let mut v : $tv = random(); let mut v : $tv = random();
$bh.iter(|| { $bh.iter(|| {
for _ in range(0, 1000) { for _ in range(0u, 1000) {
v = m * v v = m * v
} }
}) })
@ -129,7 +129,7 @@ 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(|| {
for _ in range(0, 1000) { for _ in range(0u, 1000) {
v = m * v v = m * v
} }
}) })

View File

@ -11,7 +11,7 @@ macro_rules! bench_dot_vec(
let mut d = 0.0; let mut d = 0.0;
$bh.iter(|| { $bh.iter(|| {
for _ in range(0, 1000) { for _ in range(0u, 1000) {
d = d + na::dot(&a, &b); d = d + na::dot(&a, &b);
} }
}) })

View File

@ -63,10 +63,10 @@ fn main() {
let v: Vec3<f64> = na::zero(); let v: Vec3<f64> = na::zero();
let m: Mat3<f64> = na::one(); let m: Mat3<f64> = na::one();
let _ = m * v; // matrix-vector multiplication. let _ = m * v; // matrix-vector multiplication.
let _ = v * m; // vector-matrix multiplication. let _ = v * m; // vector-matrix multiplication.
let _ = m * m; // matrix-matrix multiplication. let _ = m * m; // matrix-matrix multiplication.
let _ = v * 2.0; // vector-scalar multiplication. let _ = v * 2.0f64; // vector-scalar multiplication.
} }
``` ```

View File

@ -245,7 +245,7 @@ pub fn perspective3d<N: FloatMath + Cast<f32> + Zero + One>(width: N, height: N,
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Iso3::new(Vec3::new(1.0, 1.0, 1.0), na::zero()); /// let t = Iso3::new(Vec3::new(1.0f64, 1.0, 1.0), na::zero());
/// let trans = na::translation(&t); /// let trans = na::translation(&t);
/// ///
/// assert!(trans == Vec3::new(1.0, 1.0, 1.0)); /// assert!(trans == Vec3::new(1.0, 1.0, 1.0));
@ -264,7 +264,7 @@ pub fn translation<V, M: Translation<V>>(m: &M) -> V {
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Iso3::new(Vec3::new(1.0, 1.0, 1.0), na::zero()); /// let t = Iso3::new(Vec3::new(1.0f64, 1.0, 1.0), na::zero());
/// let itrans = na::inv_translation(&t); /// let itrans = na::inv_translation(&t);
/// ///
/// assert!(itrans == Vec3::new(-1.0, -1.0, -1.0)); /// assert!(itrans == Vec3::new(-1.0, -1.0, -1.0));
@ -293,7 +293,7 @@ pub fn append_translation<V, M: Translation<V>>(m: &M, v: &V) -> M {
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Iso3::new(Vec3::new(1.0, 1.0, 1.0), na::zero()); /// let t = Iso3::new(Vec3::new(1.0f64, 1.0, 1.0), na::zero());
/// let v = Vec3::new(2.0, 2.0, 2.0); /// let v = Vec3::new(2.0, 2.0, 2.0);
/// ///
/// let tv = na::translate(&t, &v); /// let tv = na::translate(&t, &v);
@ -314,7 +314,7 @@ pub fn translate<V, M: Translate<V>>(m: &M, v: &V) -> V {
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Iso3::new(Vec3::new(1.0, 1.0, 1.0), na::zero()); /// let t = Iso3::new(Vec3::new(1.0f64, 1.0, 1.0), na::zero());
/// let v = Vec3::new(2.0, 2.0, 2.0); /// let v = Vec3::new(2.0, 2.0, 2.0);
/// ///
/// let tv = na::inv_translate(&t, &v); /// let tv = na::inv_translate(&t, &v);
@ -338,7 +338,7 @@ pub fn inv_translate<V, M: Translate<V>>(m: &M, v: &V) -> V {
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Rot3::new(Vec3::new(1.0, 1.0, 1.0)); /// let t = Rot3::new(Vec3::new(1.0f64, 1.0, 1.0));
/// ///
/// assert!(na::approx_eq(&na::rotation(&t), &Vec3::new(1.0, 1.0, 1.0))); /// assert!(na::approx_eq(&na::rotation(&t), &Vec3::new(1.0, 1.0, 1.0)));
/// } /// }
@ -357,7 +357,7 @@ pub fn rotation<V, M: Rotation<V>>(m: &M) -> V {
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Rot3::new(Vec3::new(1.0, 1.0, 1.0)); /// let t = Rot3::new(Vec3::new(1.0f64, 1.0, 1.0));
/// ///
/// assert!(na::approx_eq(&na::inv_rotation(&t), &Vec3::new(-1.0, -1.0, -1.0))); /// assert!(na::approx_eq(&na::inv_rotation(&t), &Vec3::new(-1.0, -1.0, -1.0)));
/// } /// }
@ -376,7 +376,7 @@ pub fn inv_rotation<V, M: Rotation<V>>(m: &M) -> V {
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Rot3::new(Vec3::new(0.0, 0.0, 0.0)); /// let t = Rot3::new(Vec3::new(0.0f64, 0.0, 0.0));
/// let v = Vec3::new(1.0, 1.0, 1.0); /// let v = Vec3::new(1.0, 1.0, 1.0);
/// let rt = na::append_rotation(&t, &v); /// let rt = na::append_rotation(&t, &v);
/// ///
@ -397,7 +397,7 @@ pub fn append_rotation<V, M: Rotation<V>>(m: &M, v: &V) -> M {
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Rot3::new(Vec3::new(0.0, 0.0, 0.0)); /// let t = Rot3::new(Vec3::new(0.0f64, 0.0, 0.0));
/// let v = Vec3::new(1.0, 1.0, 1.0); /// let v = Vec3::new(1.0, 1.0, 1.0);
/// let rt = na::prepend_rotation(&t, &v); /// let rt = na::prepend_rotation(&t, &v);
/// ///
@ -422,7 +422,7 @@ pub fn prepend_rotation<V, M: Rotation<V>>(m: &M, v: &V) -> M {
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Rot3::new(Vec3::new(0.0, 0.0, 0.5 * Float::pi())); /// let t = Rot3::new(Vec3::new(0.0f64, 0.0, 0.5 * Float::pi()));
/// let v = Vec3::new(1.0, 0.0, 0.0); /// let v = Vec3::new(1.0, 0.0, 0.0);
/// ///
/// let tv = na::rotate(&t, &v); /// let tv = na::rotate(&t, &v);
@ -445,7 +445,7 @@ pub fn rotate<V, M: Rotate<V>>(m: &M, v: &V) -> V {
/// use nalgebra::na; /// use nalgebra::na;
/// ///
/// fn main() { /// fn main() {
/// let t = Rot3::new(Vec3::new(0.0, 0.0, 0.5 * Float::pi())); /// let t = Rot3::new(Vec3::new(0.0f64, 0.0, 0.5 * Float::pi()));
/// let v = Vec3::new(1.0, 0.0, 0.0); /// let v = Vec3::new(1.0, 0.0, 0.0);
/// ///
/// let tv = na::inv_rotate(&t, &v); /// let tv = na::inv_rotate(&t, &v);

View File

@ -5,7 +5,7 @@ macro_rules! submat_impl(
impl<N> $t<N> { impl<N> $t<N> {
#[inline] #[inline]
pub fn submat<'r>(&'r self) -> &'r $submat<N> { pub fn submat<'r>(&'r self) -> &'r $submat<N> {
&'r self.submat &self.submat
} }
} }
) )

View File

@ -7,7 +7,7 @@ use std::cmp::{min, max};
macro_rules! test_inv_mat_impl( macro_rules! test_inv_mat_impl(
($t: ty) => ( ($t: ty) => (
for _ in range(0, 10000) { for _ in range(0u, 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()));
@ -17,7 +17,7 @@ macro_rules! test_inv_mat_impl(
macro_rules! test_transpose_mat_impl( macro_rules! test_transpose_mat_impl(
($t: ty) => ( ($t: ty) => (
for _ in range(0, 10000) { for _ in range(0u, 10000) {
let randmat : $t = random(); let randmat : $t = random();
assert!(na::transpose(&na::transpose(&randmat)) == randmat); assert!(na::transpose(&na::transpose(&randmat)) == randmat);
@ -27,7 +27,7 @@ macro_rules! test_transpose_mat_impl(
macro_rules! test_decomp_qr_impl( macro_rules! test_decomp_qr_impl(
($t: ty) => ( ($t: ty) => (
for _ in range(0, 10000) { for _ in range(0u, 10000) {
let randmat : $t = random(); let randmat : $t = random();
let (q, r) = decomp_qr(&randmat); let (q, r) = decomp_qr(&randmat);
@ -100,7 +100,7 @@ fn test_inv_mat6() {
#[test] #[test]
fn test_rotation2() { fn test_rotation2() {
for _ in range(0, 10000) { for _ in range(0u, 10000) {
let randmat: na::Rot2<f64> = na::one(); let randmat: na::Rot2<f64> = na::one();
let ang = Vec1::new(abs::<f64>(random()) % Float::pi()); let ang = Vec1::new(abs::<f64>(random()) % Float::pi());
@ -117,7 +117,7 @@ fn test_index_mat2() {
#[test] #[test]
fn test_inv_rotation3() { fn test_inv_rotation3() {
for _ in range(0, 10000) { for _ in range(0u, 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()) % Float::pi()); let ang = na::normalize(&dir) * (abs::<f64>(random()) % Float::pi());
@ -148,11 +148,11 @@ fn test_cov_dmat() {
5, 5,
3, 3,
[ [
4.0, 2.0, 0.60, 4.0f64, 2.0, 0.60,
4.2, 2.1, 0.59, 4.2f64, 2.1, 0.59,
3.9, 2.0, 0.58, 3.9f64, 2.0, 0.58,
4.3, 2.1, 0.62, 4.3f64, 2.1, 0.62,
4.1, 2.2, 0.63 4.1f64, 2.2, 0.63
] ]
); );
@ -160,9 +160,9 @@ fn test_cov_dmat() {
3, 3,
3, 3,
[ [
0.025, 0.0075, 0.00175, 0.025f64, 0.0075, 0.00175,
0.0075, 0.007, 0.00135, 0.0075f64, 0.007, 0.00135,
0.00175, 0.00135, 0.00043 0.00175f64, 0.00135, 0.00043
] ]
); );
@ -175,14 +175,14 @@ fn test_transpose_dmat() {
8, 8,
4, 4,
[ [
1, 2, 3, 4, 1u32,2, 3, 4,
5, 6, 7, 8, 5, 6, 7, 8,
9, 10, 11, 12, 9, 10, 11, 12,
13, 14, 15, 16, 13, 14, 15, 16,
17, 18, 19, 20, 17, 18, 19, 20,
21, 22, 23, 24, 21, 22, 23, 24,
25, 26, 27, 28, 25, 26, 27, 28,
29, 30, 31, 32 29, 30, 31, 32
] ]
); );
@ -195,14 +195,14 @@ fn test_dmat_from_vec() {
8, 8,
4, 4,
[ [
1, 2, 3, 4, 1i32, 2, 3, 4,
5, 6, 7, 8, 5, 6, 7, 8,
9, 10, 11, 12, 9, 10, 11, 12,
13, 14, 15, 16, 13, 14, 15, 16,
17, 18, 19, 20, 17, 18, 19, 20,
21, 22, 23, 24, 21, 22, 23, 24,
25, 26, 27, 28, 25, 26, 27, 28,
29, 30, 31, 32 29, 30, 31, 32
] ]
); );
@ -210,10 +210,10 @@ fn test_dmat_from_vec() {
8, 8,
4, 4,
[ [
1, 5, 9, 13, 17, 21, 25, 29, 1i32, 5, 9, 13, 17, 21, 25, 29,
2, 6, 10, 14, 18, 22, 26, 30, 2i32, 6, 10, 14, 18, 22, 26, 30,
3, 7, 11, 15, 19, 23, 27, 31, 3i32, 7, 11, 15, 19, 23, 27, 31,
4, 8, 12, 16, 20, 24, 28, 32 4i32, 8, 12, 16, 20, 24, 28, 32
] ]
); );
@ -224,7 +224,7 @@ fn test_dmat_from_vec() {
#[test] #[test]
fn test_decomp_qr() { fn test_decomp_qr() {
for _ in range(0, 10) { for _ in range(0u, 10) {
let dim1: uint = random(); let dim1: uint = random();
let dim2: uint = random(); let dim2: uint = random();
let rows = min(40, max(dim1, dim2)); let rows = min(40, max(dim1, dim2));

View File

@ -5,7 +5,7 @@ use na;
macro_rules! test_iterator_impl( macro_rules! test_iterator_impl(
($t: ty, $n: ty) => ( ($t: ty, $n: ty) => (
for _ in range(0, 10000) { for _ in range(0u, 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();
@ -23,7 +23,7 @@ macro_rules! test_iterator_impl(
macro_rules! test_commut_dot_impl( macro_rules! test_commut_dot_impl(
($t: ty) => ( ($t: ty) => (
for _ in range(0, 10000) { for _ in range(0u, 10000) {
let v1 : $t = random(); let v1 : $t = random();
let v2 : $t = random(); let v2 : $t = random();
@ -34,7 +34,7 @@ macro_rules! test_commut_dot_impl(
macro_rules! test_scalar_op_impl( macro_rules! test_scalar_op_impl(
($t: ty, $n: ty) => ( ($t: ty, $n: ty) => (
for _ in range(0, 10000) { for _ in range(0u, 10000) {
let v1 : $t = random(); let v1 : $t = random();
let n : $n = random(); let n : $n = random();
@ -57,7 +57,7 @@ macro_rules! test_scalar_op_impl(
macro_rules! test_basis_impl( macro_rules! test_basis_impl(
($t: ty) => ( ($t: ty) => (
for _ in range(0, 10000) { for _ in range(0u, 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()));
@ -75,7 +75,7 @@ macro_rules! test_basis_impl(
macro_rules! test_subspace_basis_impl( macro_rules! test_subspace_basis_impl(
($t: ty) => ( ($t: ty) => (
for _ in range(0, 10000) { for _ in range(0u, 10000) {
let v : $t = random(); let v : $t = random();
let v1 = na::normalize(&v); let v1 = na::normalize(&v);
@ -99,7 +99,7 @@ macro_rules! test_subspace_basis_impl(
#[test] #[test]
fn test_cross_vec3() { fn test_cross_vec3() {
for _ in range(0, 10000) { for _ in range(0u, 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);
@ -287,30 +287,30 @@ fn test_iterator_vec6() {
#[test] #[test]
fn test_ord_vec3() { fn test_ord_vec3() {
// equality // equality
assert!(Vec3::new(0.5, 0.5, 0.5) == Vec3::new(0.5, 0.5, 0.5)); assert!(Vec3::new(0.5f64, 0.5, 0.5) == Vec3::new(0.5, 0.5, 0.5));
assert!(!(Vec3::new(1.5, 0.5, 0.5) == Vec3::new(0.5, 0.5, 0.5))); assert!(!(Vec3::new(1.5f64, 0.5, 0.5) == Vec3::new(0.5, 0.5, 0.5)));
assert!(Vec3::new(1.5, 0.5, 0.5) != Vec3::new(0.5, 0.5, 0.5)); assert!(Vec3::new(1.5f64, 0.5, 0.5) != Vec3::new(0.5, 0.5, 0.5));
// comparable // comparable
assert!(na::partial_cmp(&Vec3::new(0.5, 0.3, 0.3), &Vec3::new(1.0, 2.0, 1.0)).is_le()); assert!(na::partial_cmp(&Vec3::new(0.5f64, 0.3, 0.3), &Vec3::new(1.0, 2.0, 1.0)).is_le());
assert!(na::partial_cmp(&Vec3::new(0.5, 0.3, 0.3), &Vec3::new(1.0, 2.0, 1.0)).is_lt()); assert!(na::partial_cmp(&Vec3::new(0.5f64, 0.3, 0.3), &Vec3::new(1.0, 2.0, 1.0)).is_lt());
assert!(na::partial_cmp(&Vec3::new(2.0, 4.0, 2.0), &Vec3::new(1.0, 2.0, 1.0)).is_ge()); assert!(na::partial_cmp(&Vec3::new(2.0f64, 4.0, 2.0), &Vec3::new(1.0, 2.0, 1.0)).is_ge());
assert!(na::partial_cmp(&Vec3::new(2.0, 4.0, 2.0), &Vec3::new(1.0, 2.0, 1.0)).is_gt()); assert!(na::partial_cmp(&Vec3::new(2.0f64, 4.0, 2.0), &Vec3::new(1.0, 2.0, 1.0)).is_gt());
// not comparable // not comparable
assert!(na::partial_cmp(&Vec3::new(0.0, 3.0, 0.0), &Vec3::new(1.0, 2.0, 1.0)).is_not_comparable()); assert!(na::partial_cmp(&Vec3::new(0.0f64, 3.0, 0.0), &Vec3::new(1.0, 2.0, 1.0)).is_not_comparable());
} }
#[test] #[test]
fn test_min_max_vec3() { fn test_min_max_vec3() {
assert_eq!(na::sup(&Vec3::new(1.0, 2.0, 3.0), &Vec3::new(3.0, 2.0, 1.0)), Vec3::new(3.0, 2.0, 3.0)); assert_eq!(na::sup(&Vec3::new(1.0f64, 2.0, 3.0), &Vec3::new(3.0, 2.0, 1.0)), Vec3::new(3.0, 2.0, 3.0));
assert_eq!(na::inf(&Vec3::new(1.0, 2.0, 3.0), &Vec3::new(3.0, 2.0, 1.0)), Vec3::new(1.0, 2.0, 1.0)); assert_eq!(na::inf(&Vec3::new(1.0f64, 2.0, 3.0), &Vec3::new(3.0, 2.0, 1.0)), Vec3::new(1.0, 2.0, 1.0));
} }
#[test] #[test]
fn test_outer_vec3() { fn test_outer_vec3() {
assert_eq!( assert_eq!(
na::outer(&Vec3::new(1.0, 2.0, 3.0), &Vec3::new(4.0, 5.0, 6.0)), na::outer(&Vec3::new(1.0f64, 2.0, 3.0), &Vec3::new(4.0, 5.0, 6.0)),
Mat3::new( Mat3::new(
4.0, 5.0, 6.0, 4.0, 5.0, 6.0,
8.0, 10.0, 12.0, 8.0, 10.0, 12.0,