Commit Graph

1257 Commits

Author SHA1 Message Date
Mike Dilger
64130dfb2f tests for ApproxEq ULPs 2015-01-01 10:41:15 +13:00
Mike Dilger
122c95f2b4 fix macro 2015-01-01 10:41:07 +13:00
Mike Dilger
4c1cfb03cf ApproxEq trait enhanced with ULPs method of specifying closeness:
approx_eq_ulps() allows specification of epsilon as an integer number
  of Units in the Last Place (ULPs) difference between the two floating
  point values

  default approx_ulps() is set to 8.

  approx_eq() function continues to use epsilon method, although I
  recommend further commits and a migration towards the ULPs method.
2015-01-01 10:12:27 +13:00
Sébastien Crozet
73c49884c3 Fix benches. 2014-12-27 11:15:13 +01:00
Sébastien Crozet
ec44d197b2 Merge pull request #59 from bfops/master
Fix Encodable/Decodable deprecation warnings
2014-12-26 06:46:42 +01:00
Ben Foppa
0ba92a51bd Fix Encodable/Decodable deprecation warnings 2014-12-25 16:05:33 -05:00
Sébastien Crozet
bcd425e12a Merge pull request #57 from tomaka/master
Update for rustc
2014-12-23 20:20:46 +01:00
Pierre Krieger
258e7465d4 Fix Neg trait taking self instead of &self 2014-12-23 19:09:06 +01:00
Pierre Krieger
7bfad8e118 Rename std::slice::Items -> std::slice::Iter 2014-12-23 19:01:49 +01:00
Sébastien Crozet
8a291b8cce Merge pull request #56 from aepsil0n/macro_item_semicolons
Add trailing ';' to all item macros
2014-12-20 00:44:32 +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
Sébastien Crozet
fec0c749d1 Merge pull request #55 from sebcrozet/rustup
Update to the last rust-nightly.
2014-12-17 23:50:25 +01:00
Sébastien Crozet
a92c681d01 Update to the last rust-nightly.
Version of rustc: 0.13.0-nightly (42deaa5e4 2014-12-16 17:51:23 +0000).

Fix #54.
2014-12-17 23:39:47 +01:00
Sébastien Crozet
6c431ff666 Merge pull request #53 from aepsil0n/update_nightlies
Update to latest Rust
2014-12-12 07:47:49 +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
Eduard Bopp
223dc316ad Update to latest Rust 2014-12-10 15:09:38 +01:00
Sébastien Crozet
4abbe6803e Merge pull request #51 from aepsil0n/oop_style_traits
Use object-oriented style for trait methods
2014-12-02 11:27:39 +01:00
Eduard Bopp
edaeab72ac Use object-oriented style for trait methods
Wherever sensible the geometric traits now take `&self` arguments, so that
implementations can be invoked as instance methods instead of static methods.
This makes some idioms easier to express and generally allows for greater
flexibility as the restructured methods can still be invoked like static
methods.

Fixes #39.
2014-12-01 19:44:43 +01:00
Sébastien Crozet
3b44441ce9 Update to the last rust-nightly.
Version of rustc: 0.13.0-nightly (fac5a0767 2014-11-26 22:37:06 +0000).
2014-11-30 15:47:31 +01:00
Sébastien Crozet
9d5d3f49f9 Do not mantion the double-dispatch on the doc. 2014-11-26 14:36:50 +01:00
Sébastien Crozet
b7af46377d Merge pull request #49 from sebcrozet/multidispatch
Replace the double dispatch trick by multidispatch!
2014-11-26 14:35:02 +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
3317e057f5 Add float constants to BaseFloat.
Fix #42.
2014-11-25 11:19:31 +01:00
Sébastien Crozet
40c14ace39 Make from_array-like methods static.
Fix #45.
2014-11-25 11:00:26 +01:00
Sébastien Crozet
313d6f92d1 Merge pull request #43 from aepsil0n/assert_approx_eq_macros
Implement assertion macros for ApproxEq
2014-11-23 16:58:56 +01:00
Eduard Bopp
956c5cdecc Implement assertion macros for ApproxEq
These macros yield readable error messages as test assertions for ApproxEq
types. They can be invoked as:

    assert_approx_eq!(a, b);
    assert_approx_eq_eps!(a, b, eps);

Fixes #40.
2014-11-23 14:15:56 +01:00
Sébastien Crozet
2e3ae62fd5 Add metadatas for crates.io
cc #37.
2014-11-22 19:52:06 +01:00
Sébastien Crozet
b1a58e9ebe Merge pull request #35 from aepsil0n/to_homogeneous_self
Have ToHomogeneous use &self in method signature
2014-11-22 16:50: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
Sébastien Crozet
cb720dc86c Merge pull request #34 from aepsil0n/translate_doc
Fix erroneous Translate documentation
2014-11-21 16:10:14 +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
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
7d65e0a143 Update to the last rust-nightly.
Version of rustc: 0.13.0-nightly (e09d98603 2014-11-18 23:51:43 +0000).
2014-11-20 09:56: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
15d1fa0b8b Fix warnings. 2014-11-07 19:23:46 +01:00
Sébastien Crozet
83f25e0552 Add more benchmarks. 2014-11-07 16:15:56 +01:00
Sébastien Crozet
226b115f1e Overload DVec * DVec -> DVec and DVec / Dvec -> DVec.
Fix #31.
2014-11-06 23:17:35 +01:00
Sébastien Crozet
a2848e6e18 Update to the last rust-nightly.
Version of rustc: 0.13.0-nightly (63c4f22f2 2014-11-05 22:31:44 +0000).
2014-11-06 14:52:52 +01:00
Sébastien Crozet
3834913402 Update to the last rust-nightly.
Version of rustc: 0.13.0-nightly (3327ecca4 2014-11-01 22:41:48 +0000).
2014-11-02 22:47:11 +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
93b184815f Always use Cast<f64> instead of Cast<f32>. 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
628aac0961 Coding style fix. 2014-10-30 09:21:18 +01:00
Sébastien Crozet
a0fffe93a9 Move the .shape() method to its own trait: Shape. 2014-10-30 09:21:18 +01:00