Commit Graph

77 Commits

Author SHA1 Message Date
Sébastien Crozet
00039c0a76 Add methods for computing decompositions. 2017-08-15 19:07:18 +02:00
Sébastien Crozet
3f70af97dd Add the most common matrix decompositions. 2017-08-15 19:07:18 +02:00
Eduard Bopp
7a62b68c38 Merge pull request #251 from Ralith/unnested-serialization
Remove gratuitous indirection in serialization impls
2017-07-26 19:40:57 +02:00
Sébastien Crozet
f86752e44a De-ambiguat AsRef/AsMut/Into implementations.
Addresses comments of #225.
2017-07-22 09:57:21 +02:00
Brendan Zabarauskas
ba41a8ce5a Implement the sum and product traits for matrices
Closes #264
2017-07-02 01:27:16 +10:00
Sébastien Crozet
b78dcb3155 Add methods to set a row or a column of the matrix. 2017-05-17 22:47:45 +02:00
Benjamin Saunders
0979896dbd Remove gratuitous indirection in serialization impls 2017-05-03 19:51:26 -07:00
Sébastien Crozet
35d2b6dc88 Add kronecker product.
Closes #248
2017-05-03 22:47:18 +02:00
Andreas Longva
a52b079578 Relax invertibility test in try_inverse()
The previous implementation of try_inverse() used an approximate
check of the determinant against 0 for small matrices to
determine if the matrix was invertible. This is not a reliable test,
and may fail for perfectly invertible matrices. This change
simply makes the test criterion an exact comparison instead.
2017-04-28 19:11:33 +02:00
Andreas Longva
9489e8f97e Add basic tests for Matrix::try_inverse 2017-04-28 19:11:33 +02:00
Sébastien Crozet
e6ee11617a Add a method to compute the trace of a matrix.
Fix #231.
2017-03-19 22:44:08 +01:00
Sébastien Crozet
d6285e1165 Implement AsRef, AsMut, Into, From. 2017-02-18 13:44:03 +01:00
Sébastien Crozet
086e6e719f Doc + slerp + conversions. 2017-02-12 18:17:09 +01:00
Sébastien Crozet
377f8b5596 Fix travis.yml. 2016-12-04 23:17:27 +01:00
Sébastien Crozet
99b6181b1e Complete library rewrite.
See comments on #207 for details.
2016-12-04 22:47:36 +01:00
Sébastien Crozet
89c745fa17 Fix &DMatrix - DMatrix.
Fix #203.
2016-09-06 19:42:28 +02:00
Dimitri Sabadie
4afb2ff476 Fixed tests (#198). 2016-08-26 11:00:34 +02:00
Sébastien Crozet
c4728a33d4 Fix quaternion polar decomposition. 2016-08-16 12:40:39 +02:00
Sébastien Crozet
9c4bff1f85 Rename methods starting with new_with_ to from_. 2016-08-16 10:48:41 +02:00
Dimitri 'phaazon' Sabadie
1fdd8979af Fixed Zero and One for Quaternion. 2016-07-30 14:08:55 +02:00
Dimitri Sabadie
f9c1a2fd98 Added a test for Quaternion::exp(). 2016-07-29 18:02:37 +02:00
Sébastien Crozet
df872f407d Replace "col" by "column".
Related to #176.
2016-04-18 08:32:12 +02:00
Sébastien Crozet
0c84d18850 Substitute: diag -> diagonal. 2016-04-17 19:47:56 +02:00
Sébastien Crozet
e6156727f2 Use full names for everything.
Note that `sqdist` becomes `distance_squared` and `sqnorm` becomes `norm_squared`.

Fix #176.
2016-04-17 17:26:58 +02:00
Sébastien Crozet
9a87e2360d Implement Outer for DVec. (#186)
Fix #181.
2016-04-17 13:20:58 +02:00
Sébastien Crozet
9e739676a7 Implement *Assign traits for everything.
Fix #184.
2016-04-17 12:57:54 +02:00
Sébastien Crozet
4c58e37910 Make look_at, perspective, and orthographic projection matrices conform to computer-graphics convensions.
The `look_at` method itself has been split into a right-handed and a left-handed variant:
`look_at_rh` and `look_at_lh`.

Fix #171, #158, #88, #79.
2016-03-31 21:22:02 +02:00
Sébastien Crozet
91e14670ed Add multiplications between Iso, Rot, and Sim. 2016-03-28 17:05:44 +02:00
Sébastien Crozet
5b7af11555 Add Sim/Rot, Sim/Iso, Iso/Rot multiplications. 2016-03-28 15:18:28 +02:00
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
87a80c2de6 Fix tests. 2016-03-24 19:44:08 +01:00
Sébastien Crozet
f8f4924e47 Add vector perametrizable by their sizes. 2016-03-24 19:03:29 +01:00
Sébastien Crozet
bfd97beffe Merge branch 'misc' 2016-01-10 15:46:06 +01:00
Sébastien Crozet
3cd4221bf7 Implement Row and Col for DMat.
Fix #153.
2016-01-10 14:49:55 +01:00
Sébastien Crozet
5cbbc25bb2 Make vectors indexable the same way as slices.
This includes range indexing.
In addition, for unification, the methods `.as_slice` and `.as_mut_slice` of DVec have been renamed
to `.as_ref` and `.as_mut`.
2016-01-10 14:49:37 +01:00
Oleg Beloglazov
c4bce82290 Implement Row & Col Traits for DMat 2016-01-10 16:03:04 +03:00
Daniel D
179a6560ce Fix eigenvalue calculation for diagonal matrices 2015-11-14 15:40:35 +01:00
Daniel
c4753aaf65 Implemented QR algorithm with initial transformation to Hessenberg form and Wilkinson shift for symmetric matrices 2015-09-22 15:17:03 +02:00
Anders Kalør
5e41fbfe2a Add RowSlice and ColSlice test cases for DMat 2015-08-27 16:53:20 +02:00
Tim Kuehn
e2c21c4ae2 Fix transpose_mut for square matrices.
And add a test for it.
2015-08-12 16:52:55 -07:00
Daniel
1716dd86db Made tests more readable - missed a function 2015-08-08 17:22:47 +02:00
Daniel
9bb6325846 Made tests more readable 2015-08-08 14:52:57 +02:00
Daniel
dc571838bb Added check for symmetricity of input matrix 2015-08-07 15:03:38 +02:00
Daniel
b197959e2b Implemented Cholesky decomposition with tests 2015-08-07 14:44:25 +02:00
Arttu Ylä-Outinen
8b14cef4e7 Add a test for multiplication of non-square DMats.
Demonstrates a bug in Mul implementation.
2015-07-12 09:42:31 +03:00
mitchmindtree
51381ff84d Allow for non-consuming std operations on DMat. Added DMat multiplication test. 2015-06-21 00:20:39 +10:00
Sébastien Crozet
410c3c9566 Add pointwise addition and subtraction for DMat.
Fix #132.
2015-06-06 12:59:47 +02:00
Sébastien Crozet
b859b32804 Add tests for ::angle_between and ::rotation_between. 2015-06-01 22:39:33 +02:00
Sébastien Crozet
0988b837dc Update to the last rust-nighly.
Version of rustc: rustc 1.0.0-nightly (123a754cb 2015-03-24).
2015-03-25 22:39:06 +01:00
Pierre Krieger
7c415692c3 Update for rustc 2015-03-23 14:38:48 +01:00