Sébastien Crozet
02001667f7
Fix look_at matrices + implement Display for statically sized structures.
2016-03-28 14:56:25 +02:00
Sébastien Crozet
c1ec00cfe7
Complete the documentation.
2016-03-24 19:44:08 +01:00
Sébastien Crozet
88fb33cf44
Remove useless or incomplete structs: Vec0
, Pnt0
, Iso4
, Rot4
.
2016-03-24 19:43:50 +01:00
Sébastien Crozet
0c8b8bfcdb
Add similarity transformations Sim2 and Sim3 (uniform scale followed by a rotation followed by a translation).
2016-03-24 19:03:40 +01:00
Sébastien Crozet
f8f4924e47
Add vector perametrizable by their sizes.
2016-03-24 19:03:29 +01:00
Sébastien Crozet
58000e4838
Implement AsRef, AsMut, From for vectors and matrices.
...
This allows pointer conversion between arrays and vectors or matrices.
Those implementations replace the `.as_array()` and `.as_array_mut()` method.
2015-11-15 21:38:28 +01:00
Sébastien Crozet
ca87f9eb95
Rollup of minor beaking changes.
...
Use associated types for the `Outer` trait.
Add a `Repeat` trait for constructing a multidimensional value by repeating an element.
Split the `Diag` trait into `Diag` and `DiagMut`.
Implement `RustEncodable` for `Identity`.
2015-05-25 14:47:14 +02:00
Eduard Bopp
730dc40b01
Remove operator hacks
...
The LMul, RMul and Scalar* traits were only necessary due to language
limitations regarding trait bounds that are now gone. The Mat trait is now
expressed in terms of regular operator traits.
However, due to the removal of these traits this constitutes a breaking change.
2015-05-06 13:23:14 +02:00
Sébastien Crozet
313ca1b8ae
Use the Zero
and One
traits from the num
crate.
...
Remove our own definitions of those traits.
Also fixes test-related attributes to make them compile again.
2015-04-18 14:38:34 +02:00
Jameson Ernst
9b8076e179
Add #[repr(C)] to structs likely to be used in ffi
2015-03-01 12:50:17 -08:00
Ben Foppa
8d28d7dbd6
FromIterator changes and phantom type annotations.
2015-02-20 18:02:27 -05:00
Eduard Bopp
f14f240aa7
Migrate random generation to use crates.io rand
...
The standard library random generation facilities have been deprecated in
favour of a new crate on crates.io.
2015-02-17 13:45:16 +01:00
Sébastien Crozet
39fd7c1ae7
Silence warnings and replace Show
by Debug
.
2015-02-01 16:15:55 +01:00
Eduard Bopp
1103996b83
Implement Arbitrary for (almost) all types
...
Rot4 and Iso4 had to be left out, since Rot4 apparently lacks a working
constructor.
Thereby (almost) all types in nalgebra can now be used for quickcheck-style
testing.
"arbitrary" is now a conditionally compiled feature that contains these impls
adding a dependency on quickcheck.
2015-01-10 01:36:13 +01:00
Sébastien Crozet
ce0178785c
Fix automatic text replacement on comments.
2015-01-09 23:01:46 +01:00
Sébastien Crozet
2d4e1bfc95
Fix warnings related to the POrd implementation.
2015-01-09 22:34:57 +01:00
Sébastien Crozet
e6e099b7c4
Replace int, and uint, by isize and usize.
2015-01-09 22:26:05 +01:00
Sébastien Crozet
018d4a2ec0
Remove glob imports.
2015-01-04 09:39:32 +01:00
Connorcpu
a18a53b82e
Updated to latest rust master
2015-01-03 13:48:10 -08:00
Ben Foppa
0ba92a51bd
Fix Encodable/Decodable deprecation warnings
2014-12-25 16:05:33 -05:00
Pierre Krieger
7bfad8e118
Rename std::slice::Items -> std::slice::Iter
2014-12-23 19:01:49 +01:00
Eduard Bopp
e3c2d46f03
Add trailing ';' to all item macros
...
This is a fix for the latest nightly, see
https://github.com/rust-lang/rust/pull/19984 .
2014-12-19 15:33:01 +01:00
Eduard Bopp
11a2b84ee0
Derive Copy wherever sensible
...
Copy is now opt-in, see [1]. To keep the current library functionality it is
derived for all sensibly copyable types.
[1]: 096a28607f
2014-12-10 15:37:49 +01:00
Sébastien Crozet
d296bebfac
Replace the double dispatch trick by multidispatch!
...
Fix #38 .
2014-11-26 14:23:30 +01:00
Sébastien Crozet
bab38ca6d5
Add conversion from/to arrays for matrices and vectors.
...
Use `.as_array()`, `.as_array_mut()`, `.from_array_ref()`, `.from_array_mut()`.
Fix #33 .
2014-11-21 11:34:46 +01:00
Sébastien Crozet
d8dfedbf99
Update to the last rust-nightly.
...
Version of rustc: 0.13.0-nightly (336349c93 2014-11-17 20:37:19 +0000).
2014-11-19 12:11:32 +01:00
Sébastien Crozet
77348f668f
Use our own traits instead of the deprecated ones.
...
We might switch to bjz/num-rs eventually (#32 ), but in the mean time we just re-declare the
deprecrated traits in nalgebra.
2014-11-16 14:42:18 +01:00
Sébastien Crozet
39b9d20717
Quick update to the last rust-nightly.
...
This is just a quick-fix so that nalgebra compiles.
This does not fix the deprecation warnings!
Version of rustc: 0.13.0-nightly (d91a015ab 2014-11-14 23:37:27 +0000).
2014-11-15 15:47:59 +01:00
Sébastien Crozet
eb745df4bc
Update to the last rust-nightly.
...
Version of rustc: 0.13.0-nightly (221fc1e3c 2014-10-31 02:27:15 +0000).
2014-10-31 17:40:47 +01:00
Sébastien Crozet
36d3e88cb0
Do not automatically impl Scalar{Mul,Div,Add,Sub}.
...
This makes them implementable without using the double dispatch trick.
2014-10-30 09:21:22 +01:00
Sébastien Crozet
6a194b2b62
Rename: Any{Vec,Pnt} to Num{Vec,Pnt} + do not impl them automatically.
...
Instead, implement them manually. This clarifies error messages for the users.
2014-10-30 09:21:19 +01:00
Sébastien Crozet
a0fffe93a9
Move the .shape()
method to its own trait: Shape
.
2014-10-30 09:21:18 +01:00
Sébastien Crozet
074c9356bf
Rename: PartialOrd -> POrd, PartialOrdering -> POrdering.
...
This avoids name clashes with the standard library.
2014-10-30 08:38:05 +01:00
Sébastien Crozet
b6090042ac
Add a Axpy
that implements y <- y + ax.
...
This is very useful for accumulations to compute, e.g. centers.
2014-10-12 09:24:16 +02:00
Sébastien Crozet
6fb6d35980
Documentation fixes.
2014-10-10 20:56:40 +02:00
Sébastien Crozet
7e9bb98823
Add to_pnt
and to_vec
methods.
2014-10-10 12:19:37 +02:00
Sébastien Crozet
924d8269d8
Add points.
...
This adds the Pnt{1,2,3,4,5,6} structures.
This adds the traits:
− AnyPnt
− FloatPnt
− PntExt
− FloatPntExt
− Orig (to return the zero point)
− PntAsVec
− VecAsPnt
This adds operator overloading:
− Pnt + Vec
− Pnt - Vec
− Pnt * Scalar
− Pnt / Scalar
− Pnt + Scalar
− Pnt - Scalar
− Iso * Pnt
− Rot * Pnt
− Pnt * Iso
− Pnt * Rot
This changes some behavior:
− Iso multiplication with a Vec does not translate the vector any more.
− ToHomogeneous adds a 0.0 at the end of a Vec and a 1.0 at the end of a Pnt.
− FromHomogeneous performs w-normalization on a Pnt, but not on a Vec.
− The Translate<Vec> trait is never implemented (i-e. a Vec is not to be translated).
cc #25
2014-10-10 11:45:20 +02:00