forked from M-Labs/nalgebra
Make make test
test the documentation examples too.
This commit is contained in:
parent
79008262cb
commit
5463da79ae
1
Makefile
1
Makefile
@ -9,6 +9,7 @@ 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
|
||||||
|
|
||||||
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
|
||||||
|
@ -17,7 +17,7 @@ out-of-place modifications.
|
|||||||
|
|
||||||
* You can import the whole prelude using:
|
* You can import the whole prelude using:
|
||||||
|
|
||||||
```.rust
|
```
|
||||||
use nalgebra::na::*;
|
use nalgebra::na::*;
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -81,7 +81,7 @@ If you encounter problems, make sure you have the last version before creating a
|
|||||||
|
|
||||||
You can build the documentation on the `doc` folder using:
|
You can build the documentation on the `doc` folder using:
|
||||||
|
|
||||||
```.rust
|
```
|
||||||
make doc
|
make doc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ out-of-place modifications.
|
|||||||
|
|
||||||
* You can import the whole prelude using:
|
* You can import the whole prelude using:
|
||||||
|
|
||||||
```.rust
|
```
|
||||||
use nalgebra::na::*;
|
use nalgebra::na::*;
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -82,7 +82,7 @@ If you encounter problems, make sure you have the last version before creating a
|
|||||||
|
|
||||||
You can build the documentation on the `doc` folder using:
|
You can build the documentation on the `doc` folder using:
|
||||||
|
|
||||||
```.rust
|
```
|
||||||
make doc
|
make doc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
57
src/na.rs
57
src/na.rs
@ -113,12 +113,12 @@ pub fn perspective3d<N: Real + Cast<f32> + Zero + One>(width: N, height: N, fov:
|
|||||||
///
|
///
|
||||||
/// ```rust
|
/// ```rust
|
||||||
/// extern mod nalgebra;
|
/// extern mod nalgebra;
|
||||||
/// use nalgebra::types::{Vec3, Iso3};
|
/// use nalgebra::na::{Vec3, Iso3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Iso3::new(Vec3::new(1.0, 1.0, 1.0), na::zero());
|
/// let t = Iso3::new(Vec3::new(1.0, 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));
|
||||||
/// }
|
/// }
|
||||||
@ -132,12 +132,12 @@ pub fn translation<V, M: Translation<V>>(m: &M) -> V {
|
|||||||
///
|
///
|
||||||
/// ```rust
|
/// ```rust
|
||||||
/// extern mod nalgebra;
|
/// extern mod nalgebra;
|
||||||
/// use nalgebra::types::{Vec3, Iso3};
|
/// use nalgebra::na::{Vec3, Iso3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Iso3::new(Vec3::new(1.0, 1.0, 1.0), na::zero());
|
/// let t = Iso3::new(Vec3::new(1.0, 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));
|
||||||
/// }
|
/// }
|
||||||
@ -147,7 +147,7 @@ pub fn inv_translation<V, M: Translation<V>>(m: &M) -> V {
|
|||||||
m.inv_translation()
|
m.inv_translation()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Appied the translation `v` to a copy of `m`.
|
/// Applies the translation `v` to a copy of `m`.
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn append_translation<V, M: Translation<V>>(m: &M, v: &V) -> M {
|
pub fn append_translation<V, M: Translation<V>>(m: &M, v: &V) -> M {
|
||||||
Translation::append_translation_cpy(m, v)
|
Translation::append_translation_cpy(m, v)
|
||||||
@ -164,7 +164,7 @@ pub fn append_translation<V, M: Translation<V>>(m: &M, v: &V) -> M {
|
|||||||
/// use nalgebra::na::{Vec3, Iso3};
|
/// use nalgebra::na::{Vec3, Iso3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Iso3::new(Vec3::new(1.0, 1.0, 1.0), na::zero());
|
/// let t = Iso3::new(Vec3::new(1.0, 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);
|
||||||
///
|
///
|
||||||
@ -185,13 +185,13 @@ pub fn translate<V, M: Translate<V>>(m: &M, v: &V) -> V {
|
|||||||
/// use nalgebra::na::{Vec3, Iso3};
|
/// use nalgebra::na::{Vec3, Iso3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Iso3::new(Vec3::new(1.0, 1.0, 1.0), na::zero());
|
/// let t = Iso3::new(Vec3::new(1.0, 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);
|
||||||
///
|
///
|
||||||
/// assert!(tv == Vec3::new(1.0, 1.0, 1.0))
|
/// assert!(tv == Vec3::new(3.0, 3.0, 3.0))
|
||||||
/// }
|
/// }
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
pub fn inv_translate<V, M: Translate<V>>(m: &M, v: &V) -> V {
|
pub fn inv_translate<V, M: Translate<V>>(m: &M, v: &V) -> V {
|
||||||
@ -209,10 +209,10 @@ pub fn inv_translate<V, M: Translate<V>>(m: &M, v: &V) -> V {
|
|||||||
/// use nalgebra::na::{Vec3, Rot3};
|
/// use nalgebra::na::{Vec3, Rot3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Rot3::new(Vec3::new(1.0, 1.0, 1.0));
|
/// let t = Rot3::new(Vec3::new(1.0, 1.0, 1.0));
|
||||||
///
|
///
|
||||||
/// assert!(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)));
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
@ -228,10 +228,10 @@ pub fn rotation<V, M: Rotation<V>>(m: &M) -> V {
|
|||||||
/// use nalgebra::na::{Vec3, Rot3};
|
/// use nalgebra::na::{Vec3, Rot3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Rot3::new(Vec3::new(1.0, 1.0, 1.0));
|
/// let t = Rot3::new(Vec3::new(1.0, 1.0, 1.0));
|
||||||
///
|
///
|
||||||
/// assert!(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)));
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
@ -247,12 +247,12 @@ pub fn inv_rotation<V, M: Rotation<V>>(m: &M) -> V {
|
|||||||
/// use nalgebra::na::{Vec3, Rot3};
|
/// use nalgebra::na::{Vec3, Rot3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Rot3::new(Vec3::new(0.0, 0.0, 0.0));
|
/// let t = Rot3::new(Vec3::new(0.0, 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);
|
||||||
///
|
///
|
||||||
/// assert!(na::rotation(&rt) == Vec3::new(1.0, 1.0, 1.0))
|
/// assert!(na::approx_eq(&na::rotation(&rt), &Vec3::new(1.0, 1.0, 1.0)))
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
@ -268,12 +268,12 @@ pub fn append_rotation<V, M: Rotation<V>>(m: &M, v: &V) -> M {
|
|||||||
/// use nalgebra::na::{Vec3, Rot3};
|
/// use nalgebra::na::{Vec3, Rot3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Rot3::new(Vec3::new(0.0, 0.0, 0.0));
|
/// let t = Rot3::new(Vec3::new(0.0, 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);
|
||||||
///
|
///
|
||||||
/// assert!(na::rotation(&rt) == Vec3::new(1.0, 1.0, 1.0))
|
/// assert!(na::approx_eq(&na::rotation(&rt), &Vec3::new(1.0, 1.0, 1.0)))
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
@ -289,16 +289,17 @@ pub fn prepend_rotation<V, M: Rotation<V>>(m: &M, v: &V) -> M {
|
|||||||
///
|
///
|
||||||
/// ```rust
|
/// ```rust
|
||||||
/// extern mod nalgebra;
|
/// extern mod nalgebra;
|
||||||
|
/// use std::num::Real;
|
||||||
/// use nalgebra::na::{Rot3, Vec3};
|
/// use nalgebra::na::{Rot3, Vec3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Rot3::new(Vec3::new(1.0, 0.0, 0.0));
|
/// let t = Rot3::new(Vec3::new(0.0, 0.0, 0.5 * Real::pi()));
|
||||||
/// let v = Vec3::new(0.0, 0.0, na::pi() / 2.0);
|
/// let v = Vec3::new(1.0, 0.0, 0.0);
|
||||||
///
|
///
|
||||||
/// let tv = na::rotate(&t, &v);
|
/// let tv = na::rotate(&t, &v);
|
||||||
///
|
///
|
||||||
/// assert!(tv == Vec3::new(0.0, 1.0, 0.0))
|
/// assert!(na::approx_eq(&tv, &Vec3::new(0.0, 1.0, 0.0)))
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
@ -311,15 +312,17 @@ pub fn rotate<V, M: Rotate<V>>(m: &M, v: &V) -> V {
|
|||||||
///
|
///
|
||||||
/// ```rust
|
/// ```rust
|
||||||
/// extern mod nalgebra;
|
/// extern mod nalgebra;
|
||||||
|
/// use std::num::Real;
|
||||||
|
/// use nalgebra::na::{Rot3, Vec3};
|
||||||
/// use nalgebra::na;
|
/// use nalgebra::na;
|
||||||
///
|
///
|
||||||
/// pub main() {
|
/// fn main() {
|
||||||
/// let t = Rot3::new(Vec3::new(1.0, 0.0, 0.0));
|
/// let t = Rot3::new(Vec3::new(0.0, 0.0, 0.5 * Real::pi()));
|
||||||
/// let v = Vec3::new(0.0, 0.0, na::pi() / 2.0);
|
/// let v = Vec3::new(1.0, 0.0, 0.0);
|
||||||
///
|
///
|
||||||
/// let tv = na::rotate(&t, &v);
|
/// let tv = na::inv_rotate(&t, &v);
|
||||||
///
|
///
|
||||||
/// assert!(tv == Vec3::new(0.0, -1.0, 0.0))
|
/// assert!(na::approx_eq(&tv, &Vec3::new(0.0, -1.0, 0.0)))
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
|
Loading…
Reference in New Issue
Block a user