Commit Graph

15 Commits

Author SHA1 Message Date
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