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
de2479b70f
Do not implement Transform<Vec*> for Vec*
.
...
This is error prone as this is a no-op for vectors and a translation for points.
2014-10-11 00:23:10 +02:00
Sébastien Crozet
70de340498
Remove the Iso * Vec
overload and the ability to Transform a Vector with an Iso.
...
This is too error prone as the user has to remember if he is using a vector or a point.
Istead, to transform a vector with an Isometry, use the internal rotation matrix of the isometry:
`iso.rotation * vector` instead of `iso * vector`.
The `Rotation` trait can also be used.
2014-10-10 22:21:05 +02:00
Sébastien Crozet
bf67f079e7
Add a function nalgebra::center(a, b)
that computes the center of two points.
2014-10-10 21:24:18 +02:00
Sébastien Crozet
b3e7540b3c
Delete the deprecated na::
module.
2014-10-10 20:57:20 +02:00
Sébastien Crozet
6fb6d35980
Documentation fixes.
2014-10-10 20:56:40 +02:00
Sébastien Crozet
e852eb4783
Fix the implementation of ToHomogeneous
for Iso*
.
2014-10-10 20:56:24 +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
ba18f5aa70
Deprecate na::
, move all reexport to the root crate.
...
This also moves the tests and benches to cargo-complient folders.
Fix #21 .
2014-09-28 19:22:57 +02:00
Sébastien Crozet
8f89ac421c
Update to the last rust.
...
Version of rustc: rustc 0.12.0-nightly (d64b4103d 2014-09-26 21:47:47 +0000).
2014-09-27 09:54:03 +02:00
Sébastien Crozet
a9c7fe7420
Fix the matrix inversion test.
...
This prevent the test from failing when the matrix is non-inversible.
2014-09-19 23:53:36 +02:00
Sébastien Crozet
086088a0ed
Fix the implementation of Row
for fixed-size matrices.
...
Matrices are column-major.
2014-09-19 23:51:27 +02:00
Sébastien Crozet
1945cb09f2
Merge pull request #20 from bjz/warnings
...
Fix warnings
2014-09-19 23:43:46 +02:00
Brendan Zabarauskas
d3abbfcd4c
Fix warnings
2014-09-18 15:20:04 +10:00
Brendan Zabarauskas
b6959ef913
Implement index operators
...
Closes #18
2014-09-18 12:23:52 +10:00
Ben Foppa
6c8f14966c
update for rustc 21d1f4d7c
2014-09-15 21:30:36 -04:00
Sébastien Crozet
560dff3891
Update to the last rust-nightly.
...
Version of rustc: 0.12.0-pre-nightly (2e92c67dc 2014-08-28 23:56:20 +0000).
2014-08-29 21:35:42 +02:00
Sébastien Crozet
c408d5a0b2
Update to the last rust-nightly.
...
Version of rustc: 0.12.0-pre-nightly (01ec6fab2 2014-08-18 00:46:10 +0000).
2014-08-18 19:35:47 +02:00
Sébastien Crozet
ff95e2a9d8
Remove the shifting from the qr algorithm.
2014-08-17 22:42:16 +02:00
Sébastien Crozet
844092205e
Do not compute the matrix inverse if the determinant is near-zero.
2014-08-17 22:41:55 +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
40c9915870
Add the types: DVec1, .., DVec6.
...
They are stack-allocated, dynamically sized vectors with a maximum size.
This is useful for slicing small matrices, without allocation.
2014-08-16 12:16:26 +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
2f0234e7ac
Avoid modulo on DMat::from_fn
.
2014-07-27 09:13:13 +02:00
Nathan Stien
ebe1ed1f16
Fix coordinate calculation in DMat::from_fn().
...
The builder function `f` was receiving incorrect coordinates, often
involving a uint underflow.
Added a test case to verify the new behavior.
2014-07-26 19:03:37 -05:00
Sébastien Crozet
5b1388888b
Update the compilation section of the README.
2014-07-14 17:56:35 +02:00
Sébastien Crozet
65211aa89a
Cleanup the Makefile + update travis.yml.
2014-07-14 16:27:46 +02:00
Sébastien Crozet
11ee4e46b1
Make cargo build a rlib too.
2014-07-14 13:48:31 +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
e3d1bf6f92
Update to the last rust-nightly.
...
Version of rustc: 0.11.0-nightly (5ad7286dc37839b7234ff51aab172e48935869d8 2014-07-12 00:31:46 +0000)
2014-07-12 09:30:49 +02:00
Sébastien Crozet
7b9a3f2bb9
Update to the last rust-nightly.
...
Version of rustc: 0.11.0-nightly (459f155f81291c46633e86a480628b50304ffb1c 2014-07-04 23:46:44 +0000).
2014-07-05 10:33:57 +02:00
Sébastien Crozet
ecbc159521
Update some links to point on nalgebra.org
.
2014-06-09 21:48:24 +02:00
Sébastien Crozet
efc2f46019
Update to the last rust-nightly.
...
Version of rustc: 0.11.0-pre-nightly (e55f64f 2014-06-09 01:11:58 -0700).
2014-06-09 21:03:36 +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
Leo Lahti
f8ad8aa02b
Fixed issue #13
2014-05-30 21:14:16 +00:00
Sébastien Crozet
40c5f5deb8
Rename matrix-scalar and vector-scalar operator-overloading-related traits to avoid name clashes.
2014-05-22 19:54:54 +02:00
Franklin Delehelle (Vampire.local)
6468360edb
Compile with nightlies
2014-05-21 13:08:04 +02:00
Vincent Barrielle
987b91767a
update to the latest rust: FloatMath for math functions (sin/exp/...)
...
Also removed a bunch of duplicate trait usages
2014-05-16 21:04:35 +02:00
Vincent Barrielle
f8ac86effc
update to latest rust
2014-05-13 08:29:56 +02:00
Vincent Barrielle
a1fdec3b52
Merge remote-tracking branch 'origin/master' into genericQR
2014-05-13 08:27:52 +02:00
Vincent Barrielle
73c6610048
new_identity and housholder matrix available under na::
2014-05-12 21:54:59 +02:00
Vincent Barrielle
3dc0e27fd2
fix typo
2014-05-12 21:54:18 +02:00
Vincent Barrielle
76a8bc3cf1
QR factorization for fixed size matrices.
...
The ColSlice implementation for fixed size matrices returns a DVec,
while this is probably not optimal performance-wise, the dynamic nature
of the result makes this necessary. Using a data type presenting the
ImmutableVector trait would solve this, but it looks like a non-trivial
change.
2014-05-12 14:06:25 +02:00
Alexander Christiansson
5d8727a17d
std::cast::transmute -> std::mem::transmute
2014-05-12 01:31:22 +02:00
Vincent Barrielle
dcf7b8ad01
generic implementation of QR decomposition
...
But static matrices can't use it yet, they need to implement the
Row/Col slicing traits.
2014-05-11 21:20:41 +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