Sébastien Crozet
3317e057f5
Add float constants to `BaseFloat`.
...
Fix #42 .
2014-11-25 11:19:31 +01:00
Eduard Bopp
733219d728
Have ToHomogeneous use &self in method signature
...
I find makes the syntax a bit lighter.
2014-11-22 12:01:45 +01:00
Eduard Bopp
2f3b68bebb
Fix erroneous Translate documentation
...
Looks like it's been copied & pasted without adapting.
2014-11-21 15:59:26 +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
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
6b4b25acd4
Basis: add a method to compute the i-th element of the canonical basis.
2014-10-30 09:21:20 +01:00
Sébastien Crozet
171576e2a0
Move the `eigen_qr` function behind the `EigenQR` trait.
...
This simplifies generic programming.
2014-10-30 09:21:20 +01:00
Sébastien Crozet
27be1f0651
Add a `SquareMat` trait for square matrices.
2014-10-30 09:21:20 +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
3354ffc37b
Make FloatPnt and FloatVec derive from `Index`.
...
The point it that `Index` provides the i-th element decomposed into the trivial basis of their
associated vector spaces.
2014-10-30 08:38:05 +01:00
Sébastien Crozet
eb24c4063f
Remove the {Any,Float}{Pnt,Vec}Ext traits.
...
They are meaningless and too hard to implement in an ad-hoc way to be really useful.
2014-10-30 08:38:05 +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
a960afa4f9
Make `AnyVec` inherit from `Basis`.
...
Every vector must have a basis.
2014-10-30 08:38:05 +01:00
Sébastien Crozet
2f273d655a
Rename: VecExt -> AnyVecExt, PntExt -> AnyPntExt.
2014-10-30 08:38:05 +01:00
Robin Gloster
4e4eb62ffc
upgrade to newer rust
2014-10-22 13:35:17 +02:00
Sébastien Crozet
e2fc8aa764
Deprecate `to_pnt`, `as_pnt` and `VecAsPnt`.
...
Those are meaningless. Use `na::orig() + the_vector` instead.
2014-10-20 22:35:43 +02:00
Sébastien Crozet
5ba9f27530
Add quaternions.
...
Fix #24 .
2014-10-14 22:20:49 +02:00
Sébastien Crozet
0cf725f5f2
Add 3D orthogonal and perspective projection structures.
...
Fix #26 .
2014-10-12 20:40:46 +02:00
Sébastien Crozet
03eda09084
Some documentation fixes.
...
Fix #25 .
2014-10-12 10:35:56 +02: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
Sébastien Crozet
314f0c0043
Add `na::eigen_qr` that performs an eigendecomposition using the qr algorithm.
2014-08-16 15:34:34 +02:00
Sébastien Crozet
663f8b3ccb
Add a `Diag` to build, get and set a matrix diagonal.
2014-08-16 13:22:53 +02:00
Sébastien Crozet
7d6884c3df
Add a `Det` trait to compute the determinant + implement it for `Mat{1,2,3}`.
2014-08-11 19:54:13 +02:00
Sébastien Crozet
2ff660dfe1
Add a `ScalarMul` and a `ScalarDiv` trait.
...
Those might be useful to overcome rust limitations wrt operator overloading.
2014-07-13 11:43:05 +02:00
Sébastien Crozet
5066d6b9de
Update to the last rust-nightly.
...
Version of rustc: 0.11.0-pre-nightly (918dbfe 2014-06-02 20:51:30 -0700).
2014-06-03 22:37:46 +02:00
Sébastien Crozet
f6c597f102
Update to the last rust-nightly.
...
Version of rustc: 0.11.0-pre-nightly (faa7ba7 2014-05-31 01:06:40 -0700).
Main changes:
* `cmp::Ord` -> `cmp::PartialOrd`
* `cmp::Eq` -> `cmp::PartialEq`
Note that `na::PartialOrd` is not the same as `cmp::PartialOrd`
(which lacks a lot of partial ordering operators).
2014-06-01 15:22:11 +02:00
Vincent Barrielle
6ad11edf9b
more generic QR: generalize the impl of the Indexable trait
...
This allows the implementation of householder reflection without relying
on knowledge of DVec. This required a new member in the Indexable trait:
the shape() function, which returns the maximum index available.
2014-05-11 20:05:08 +02:00
Vincent Barrielle
a213a3da93
fixing style issues
2014-05-10 12:48:25 +02:00
Vincent Barrielle
d1a58f960c
Moving row/col slicing traits to a better place
2014-05-09 23:05:23 +02:00
Vincent Barrielle
5611307b4d
QR decomposition depends less on DMat internals
2014-05-09 22:14:37 +02:00
Sébastien Crozet
7ef933aefb
Update to the last Rust.
...
Version of rustc: 0.11-pre (eea4909 2014-04-24 23:41:15 -0700)
Vector do not implement `Rand` anymore.
2014-04-25 20:28:29 +02:00
Sébastien Crozet
1eed234e08
Avoid name conflicts with the standard lib.
...
The `Vec` trait is renamed `AnyVec`.
The `Less`, `Greater`, `Equal` variants are renamed `PartialLess`, `PartialGreater`,
`PartialEqual`.
Those new names are not very good, so they might change in the future.
2014-04-13 10:37:39 +02:00
Sébastien Crozet
1edecbcee4
Automatically derive `TotalEq` whenever `Eq` is derived.
2014-03-28 21:40:30 +01:00
Sébastien Crozet
915d8c057e
Update to the last Rust.
...
Version of rustc: 0.10-pre (7b957a8 2014-03-21 08:21:51 -0700)
2014-03-21 21:57:58 +01:00
Sébastien Crozet
606ad947c9
Use Vec instead of ~[].
...
Version of rustc: 0.10-pre (fc7a112 2014-03-14 23:11:31 -0700)
2014-03-15 12:23:54 +01:00
Sébastien Crozet
13430866d4
Remove the DeepClone derivings.
...
Version of rustc: 0.10-pre (e959c87 2014-03-08 22:41:45 -0800)
2014-03-09 10:09:08 +01:00
Sébastien Crozet
57dfc14139
Update to the last Rust.
...
Version of rustc: 0.10-pre (4243cad 2014-02-24 22:17:02 -0800)
2014-02-25 09:41:41 +01:00
Sébastien Crozet
ba32051fdf
Add deriving `Hash` and `Show`.
2014-02-23 08:44:21 +01:00
Sébastien Crozet
9fb67f8125
Add more comparison default methods to the `PartialOrd` trait.
...
This allows for some optimization.
2014-02-18 12:48:52 +01:00
Sébastien Crozet
becb77843e
Update to the last Rust.
...
Version of rustc: 0.10-pre (b0ce960 2014-02-17 22:16:51 -0800)
This replaces uses of the `Orderable` trait by a `PartialOrd` trait: the `min` and `max` methods
are replaced by `inf` and `sup` methods.
Vectors do not implement the `Ord` trait any more.
Fix #4
2014-02-18 12:13:40 +01:00
Sébastien Crozet
79008262cb
Doc: fix some typos.
2014-01-19 15:49:32 +01:00
Sébastien Crozet
197f7ff4d2
Update to the last Rust
...
Version of rustc: 0.10-pre (1da2962 2014-01-17 23:41:45 -0800)
Iterators were renamed.
2014-01-18 10:49:47 +01:00
Sébastien Crozet
096cce413f
Update to the last Rust.
...
The `Bounded` trait is no longer on the Rust prelude.
2014-01-16 08:17:44 +01:00
Sébastien Crozet
98b2aa8b9c
Revert "Update to the last Rust."
...
This reverts commit c1b91eefbb
.
As a matter of fact, Bounded has not been deleted.
However it is no longer automatically exported by the stdlib.
2014-01-16 08:15:57 +01:00