Commit Graph

80 Commits

Author SHA1 Message Date
Sébastien Crozet b22eb91a16 Add documentation. 2017-08-15 19:07:18 +02:00
Sébastien Crozet c258d13f98 Fix stepping for slices.
The previous implementation was wrong compared to what the documentatino claimed.
2017-08-15 19:07:18 +02:00
Sébastien Crozet 41f5231446 Add `assign` and generalize `map` to other return types.
The method assign replaces each components with the result of a closure (that takes the
corresponding component as parameter).
2017-08-15 19:07:18 +02:00
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