forked from M-Labs/nalgebra
Feature-gate the VecN
structure.
`rustc` is has a hard time compiling it from time to time.
This commit is contained in:
parent
b4c6c99dd7
commit
60c0f32e1c
@ -6,8 +6,8 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
|
|
||||||
## [unreleased] [0.6.0]
|
## [unreleased] [0.6.0]
|
||||||
### Added
|
### Added
|
||||||
* Dependency to [generic-array](https://crates.io/crates/generic-array)
|
* (feature=generic_sizes): Dependency to [generic-array](https://crates.io/crates/generic-array)
|
||||||
* Staticly sized vectors with user-defined sizes: `VecN`.
|
* (feature=ganedic_sizes): Staticly sized vectors with user-defined sizes: `VecN`.
|
||||||
* Similarity transformations (an uniform scale followed by a rotation followed
|
* Similarity transformations (an uniform scale followed by a rotation followed
|
||||||
by a translation): `Sim2`, `Sim3`.
|
by a translation): `Sim2`, `Sim3`.
|
||||||
|
|
||||||
|
15
Cargo.toml
15
Cargo.toml
@ -18,14 +18,21 @@ path = "src/lib.rs"
|
|||||||
[features]
|
[features]
|
||||||
# Generate arbitrary instances of nalgebra types for testing with quickcheck
|
# Generate arbitrary instances of nalgebra types for testing with quickcheck
|
||||||
arbitrary = [ "quickcheck" ]
|
arbitrary = [ "quickcheck" ]
|
||||||
|
generic_sizes = [ "generic-array", "typenum" ]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rustc-serialize = "0.3.*"
|
rustc-serialize = "0.3.*"
|
||||||
rand = "0.3.*"
|
rand = "0.3.*"
|
||||||
num = "0.1.*"
|
num = "0.1.*"
|
||||||
generic-array = "0.2.*"
|
|
||||||
typenum = "1.3.*"
|
[dependencies.generic-array]
|
||||||
|
optional = true
|
||||||
|
version = "0.2.*"
|
||||||
|
|
||||||
|
[dependencies.typenum]
|
||||||
|
optional = true
|
||||||
|
version = "1.3.*"
|
||||||
|
|
||||||
[dependencies.quickcheck]
|
[dependencies.quickcheck]
|
||||||
optional = true
|
optional = true
|
||||||
version = "0.2.*"
|
version = "0.2.*"
|
||||||
|
@ -45,7 +45,7 @@ fn main() {
|
|||||||
an optimized set of tools for computer graphics and physics. Those features include:
|
an optimized set of tools for computer graphics and physics. Those features include:
|
||||||
|
|
||||||
* Vectors with predefined static sizes: `Vec1`, `Vec2`, `Vec3`, `Vec4`, `Vec5`, `Vec6`.
|
* Vectors with predefined static sizes: `Vec1`, `Vec2`, `Vec3`, `Vec4`, `Vec5`, `Vec6`.
|
||||||
* Vector with a user-defined static size: `VecN`.
|
* Vector with a user-defined static size: `VecN` (available only with the `generic_sizes` feature).
|
||||||
* Points with static sizes: `Pnt1`, `Pnt2`, `Pnt3`, `Pnt4`, `Pnt5`, `Pnt6`.
|
* Points with static sizes: `Pnt1`, `Pnt2`, `Pnt3`, `Pnt4`, `Pnt5`, `Pnt6`.
|
||||||
* Square matrices with static sizes: `Mat1`, `Mat2`, `Mat3`, `Mat4`, `Mat5`, `Mat6 `.
|
* Square matrices with static sizes: `Mat1`, `Mat2`, `Mat3`, `Mat4`, `Mat5`, `Mat6 `.
|
||||||
* Rotation matrices: `Rot2`, `Rot3`
|
* Rotation matrices: `Rot2`, `Rot3`
|
||||||
|
@ -42,7 +42,7 @@ fn main() {
|
|||||||
an optimized set of tools for computer graphics and physics. Those features include:
|
an optimized set of tools for computer graphics and physics. Those features include:
|
||||||
|
|
||||||
* Vectors with predefined static sizes: `Vec1`, `Vec2`, `Vec3`, `Vec4`, `Vec5`, `Vec6`.
|
* Vectors with predefined static sizes: `Vec1`, `Vec2`, `Vec3`, `Vec4`, `Vec5`, `Vec6`.
|
||||||
* Vector with a user-defined static size: `VecN`.
|
* Vector with a user-defined static size: `VecN` (available only with the `generic_sizes` feature).
|
||||||
* Points with static sizes: `Pnt1`, `Pnt2`, `Pnt3`, `Pnt4`, `Pnt5`, `Pnt6`.
|
* Points with static sizes: `Pnt1`, `Pnt2`, `Pnt3`, `Pnt4`, `Pnt5`, `Pnt6`.
|
||||||
* Square matrices with static sizes: `Mat1`, `Mat2`, `Mat3`, `Mat4`, `Mat5`, `Mat6 `.
|
* Square matrices with static sizes: `Mat1`, `Mat2`, `Mat3`, `Mat4`, `Mat5`, `Mat6 `.
|
||||||
* Rotation matrices: `Rot2`, `Rot3`
|
* Rotation matrices: `Rot2`, `Rot3`
|
||||||
@ -78,6 +78,8 @@ Feel free to add your project to this list if you happen to use **nalgebra**!
|
|||||||
extern crate rustc_serialize;
|
extern crate rustc_serialize;
|
||||||
extern crate rand;
|
extern crate rand;
|
||||||
extern crate num;
|
extern crate num;
|
||||||
|
|
||||||
|
#[cfg(feature="generic_sizes")]
|
||||||
extern crate generic_array;
|
extern crate generic_array;
|
||||||
|
|
||||||
#[cfg(feature="arbitrary")]
|
#[cfg(feature="arbitrary")]
|
||||||
@ -136,6 +138,9 @@ pub use traits::{
|
|||||||
UniformSphereSample
|
UniformSphereSample
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#[cfg(feature="generic_sizes")]
|
||||||
|
pub use structs::VecN;
|
||||||
|
|
||||||
pub use structs::{
|
pub use structs::{
|
||||||
Identity,
|
Identity,
|
||||||
DMat, DMat1, DMat2, DMat3, DMat4, DMat5, DMat6,
|
DMat, DMat1, DMat2, DMat3, DMat4, DMat5, DMat6,
|
||||||
@ -145,7 +150,7 @@ pub use structs::{
|
|||||||
Mat1, Mat2, Mat3, Mat4,
|
Mat1, Mat2, Mat3, Mat4,
|
||||||
Mat5, Mat6,
|
Mat5, Mat6,
|
||||||
Rot2, Rot3,
|
Rot2, Rot3,
|
||||||
VecN, Vec1, Vec2, Vec3, Vec4, Vec5, Vec6,
|
Vec1, Vec2, Vec3, Vec4, Vec5, Vec6,
|
||||||
Pnt1, Pnt2, Pnt3, Pnt4, Pnt5, Pnt6,
|
Pnt1, Pnt2, Pnt3, Pnt4, Pnt5, Pnt6,
|
||||||
Persp3, PerspMat3,
|
Persp3, PerspMat3,
|
||||||
Ortho3, OrthoMat3,
|
Ortho3, OrthoMat3,
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
pub use self::dmat::{DMat, DMat1, DMat2, DMat3, DMat4, DMat5, DMat6};
|
pub use self::dmat::{DMat, DMat1, DMat2, DMat3, DMat4, DMat5, DMat6};
|
||||||
pub use self::dvec::{DVec, DVec1, DVec2, DVec3, DVec4, DVec5, DVec6};
|
pub use self::dvec::{DVec, DVec1, DVec2, DVec3, DVec4, DVec5, DVec6};
|
||||||
pub use self::vec::{Vec1, Vec2, Vec3, Vec4, Vec5, Vec6};
|
pub use self::vec::{Vec1, Vec2, Vec3, Vec4, Vec5, Vec6};
|
||||||
pub use self::vecn::VecN;
|
|
||||||
pub use self::pnt::{Pnt1, Pnt2, Pnt3, Pnt4, Pnt5, Pnt6};
|
pub use self::pnt::{Pnt1, Pnt2, Pnt3, Pnt4, Pnt5, Pnt6};
|
||||||
pub use self::mat::{Identity, Mat1, Mat2, Mat3, Mat4, Mat5, Mat6};
|
pub use self::mat::{Identity, Mat1, Mat2, Mat3, Mat4, Mat5, Mat6};
|
||||||
pub use self::rot::{Rot2, Rot3};
|
pub use self::rot::{Rot2, Rot3};
|
||||||
@ -13,9 +12,13 @@ pub use self::persp::{Persp3, PerspMat3};
|
|||||||
pub use self::ortho::{Ortho3, OrthoMat3};
|
pub use self::ortho::{Ortho3, OrthoMat3};
|
||||||
pub use self::quat::{Quat, UnitQuat};
|
pub use self::quat::{Quat, UnitQuat};
|
||||||
|
|
||||||
|
#[cfg(feature="generic_sizes")]
|
||||||
|
pub use self::vecn::VecN;
|
||||||
|
|
||||||
mod dmat_macros;
|
mod dmat_macros;
|
||||||
mod dmat;
|
mod dmat;
|
||||||
mod vecn_macros;
|
mod vecn_macros;
|
||||||
|
#[cfg(feature="generic_sizes")]
|
||||||
mod vecn;
|
mod vecn;
|
||||||
mod dvec_macros;
|
mod dvec_macros;
|
||||||
mod dvec;
|
mod dvec;
|
||||||
|
Loading…
Reference in New Issue
Block a user