Cloud Han
7615212e85
Fixed error in comments
...
M-by-N matrices are not square when M != N
2018-09-10 05:57:20 +02:00
sebcrozet
dba752e91e
Implement Send + Sync for SliceStorage{Mut}.
...
Fix #366 .
2018-09-04 07:54:12 +02:00
sebcrozet
24eb7880f3
Release v0.16.0.
2018-07-20 16:35:57 +02:00
sebcrozet
afb6317893
Fix Xargo build.
2018-07-20 16:33:59 +02:00
sebcrozet
378b39db9c
Update impls of abomonation.
2018-07-20 16:33:59 +02:00
sebcrozet
3b19b6553e
Update dependencies.
2018-07-20 16:33:59 +02:00
Benjamin Saunders
aad94661c9
Document distribution uniformity, fix Rotation2
distribution
...
Also tweak UnitComplex distribution for consistency
2018-07-10 20:17:52 +02:00
Sébastien Crozet
8e90e2adf7
Use StandardNormal on rand::distributions.
2018-07-10 20:17:52 +02:00
Sébastien Crozet
a1d8aba501
Use StandardNormal only with the "std" feature.
2018-07-10 20:17:52 +02:00
Benjamin Saunders
352e71656d
Uniformly distributed random rotations, unit vectors
2018-07-10 20:17:52 +02:00
Bernardo Meurer
c9be27abb5
Added imax/imin() as variations of iamax/iamin()
2018-07-10 20:15:21 +02:00
sebcrozet
3eaa65c9cf
Minor doc fixes.
2018-07-07 17:37:15 +02:00
Thomas Forgione
b1616e236c
Changed loops order in from_fn_generic
2018-06-16 14:27:55 +02:00
Simon Heath
ba5bc77262
Removes DefaultAllocatorBound from mint::Point conversions
2018-06-09 00:36:19 +02:00
Simon Heath
491903e1de
Replace mem::transmute() with pointer casts
...
And fix erroneous #[cfg]
2018-06-09 00:36:19 +02:00
Simon Heath
a3c4dbca95
Adds conversions to and from mint Point types.
2018-06-09 00:36:19 +02:00
Hoàng Xuân Phú
4b3a157513
Fix mismatching description for is_empty
2018-05-29 07:55:06 +02:00
sebcrozet
3ee13ec528
Update changelog.
2018-05-27 12:25:58 +02:00
Shane Pearman
2814e09d31
Add from array impl for points.
2018-05-27 12:23:54 +02:00
sebcrozet
c2d597e744
Release v0.15.0.
2018-05-26 22:26:06 +02:00
sebcrozet
cdfa73eba6
Fix warnings.
2018-05-26 22:07:57 +02:00
sebcrozet
0c29a04042
Fix compilation with the 'mint' feature.
2018-05-26 22:07:57 +02:00
sebcrozet
d759db682c
Make the alloc feature actually work.
2018-05-26 22:07:57 +02:00
sebcrozet
a51744f86b
Update to rand 0.5.
2018-05-26 22:07:57 +02:00
sebcrozet
57fa307d4d
Remove deprecated code related to the incoherent_fundamental_impl lint
2018-05-26 22:07:57 +02:00
sebcrozet
6c895ed383
gemm: don't return early for scalar types other than f32,f64.
2018-05-26 22:07:57 +02:00
sebcrozet
40e74e0186
Fix compilation with and without #![no_std].
2018-05-26 22:07:57 +02:00
sebcrozet
ca093fad29
Move core/* to base/* + add conditional compilation to dynamics matrices when no_std is enabled.
2018-05-26 22:07:57 +02:00
sebcrozet
88055dfc45
Update to approx 0.2.
2018-05-26 22:07:57 +02:00
sebcrozet
8cfd89f287
Add ::from_distribution to build a matrix from a user-provided distribution.
2018-05-17 15:59:51 +02:00
Sébastien Crozet
60fcff9e1d
Re-add the ::new slice constructor, but mark them as deprecated.
2018-05-06 23:44:57 +02:00
sebcrozet
d89e3dbac6
Rename the matrix slice constructors from ::new_*
to _from_slice_*
.
2018-05-06 23:44:57 +02:00
sebcrozet
fefba2ef4e
Fix conflicting impls for isometry multiplication.
2018-05-06 23:44:57 +02:00
Sébastien Crozet
7357d17b77
Fix typos.
2018-05-06 23:31:36 +02:00
Sébastien Crozet
31e3547401
Add UnitQuaternion::{new_eps, from_scaled_axis_eps}.
2018-05-06 23:31:36 +02:00
Sébastien Crozet
1ac8bbd3d1
Add .axis_angle to UnitComplex and UnitQuaternion + .rotation_between_axis to UnitComplex.
2018-03-08 17:30:59 +01:00
Sébastien Crozet
5ce41060e5
Fix typos.
2018-02-03 15:25:04 +01:00
Sébastien Crozet
daba16023a
Comment the argument of the (private) extend_rows function.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
487af7d979
Fix matrix resizing with empty matrices.
...
Fix #306 .
2018-02-03 13:59:05 +01:00
Sébastien Crozet
9bd2890875
Add documentation.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
84a01a720d
Fix unnecessary parenthesis.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
662cc9cd7f
Run rust fmt.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
6d4bfc3b79
Fix warnings.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
5c28af3a53
Add 3d cross-product matrix construction from a vector.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
3dc76caf7e
Add Isometry × Unit<Vector>.
...
Fix #285 .
2018-02-03 13:59:05 +01:00
Sébastien Crozet
144dfbd555
Add quadform/cmpy/cdpy.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
52598de44c
Add rotation_between_axis/scaled_rotation_between_axis.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
dc41b55e5a
Add iamin.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
fcfcc391b5
Rename slice constructors to remove the "_slice" after "new".
2018-02-03 13:59:05 +01:00
Sébastien Crozet
4cb43498a4
Add unsafe slice construction.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
a35e40b38e
Add the repeat
constructor.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
300b3d0452
Add transpose gemv.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
1a7f0dea9f
Add column vector slice aliases.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
1ee8a702ea
Fix quadratic form computation.
...
For the moment only the version that does not make any assumption regarding symmetry is
implemented.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
39d20306f1
Add symmetric quadratic form computation.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
94c1ab8e7b
Add matrix slice construction from array slices.
2018-02-03 13:59:05 +01:00
Sébastien Crozet
adbb7d989e
Add aliases for matrix slices.
2018-02-03 13:59:05 +01:00
Eduard Bopp
098d91cae0
Remove phantom data from matrix debug output
...
Addresses #295 .
2018-01-31 19:24:42 +01:00
Nil Goyette
2ad227661a
Fix RowVector3 cross product
2018-01-17 11:23:27 -05:00
Jack Wrenn
922b339fb0
Implement to_euler_angles for Rotation3 and UnitQuaternion
...
Resolves sebcrozet/nalgebra#243 .
2018-01-09 15:15:57 -05:00
Colin Wallace
e5259130e5
Fix spelling of "below"
2017-10-26 21:13:35 -07:00
Dzmitry Malyshau
94db3f533b
Mint rebase
2017-10-09 20:22:24 +02:00
Dzmitry Malyshau
6b6a0717c2
Mint matrices
2017-10-09 20:22:24 +02:00
Dzmitry Malyshau
ce2063c191
Mint Euler angles
2017-10-09 20:22:24 +02:00
Dzmitry Malyshau
b0127ab5dc
Mint quaternions
2017-10-09 20:22:24 +02:00
Dzmitry Malyshau
7d96007bdb
Mint vector conversions
2017-10-09 20:22:24 +02:00
Eduard Bopp
3a1fb0ed88
Fix feature flagging for abomonation-serialize
...
The tests can now be run without the abomonation feature. Also fixes a
bug in the feature flagging for abomonation.
2017-09-18 20:10:32 +02:00
Sébastien Crozet
48f80d99cc
Fix abomonation integration.
2017-08-15 19:36:38 +02:00
Sébastien Crozet
afef66227e
Merge branch 'master' into abomonation
2017-08-15 19:18:39 +02:00
Sébastien Crozet
740d19437c
Fix unused_result lint errors.
2017-08-15 19:07:18 +02:00
Sébastien Crozet
b475c4da9f
Move set_row
, set_column
from matrix.rs to edition.rs.
2017-08-15 19:07:18 +02:00
Sébastien Crozet
3e349b80cf
Implement serde traits for all linalg structs.
2017-08-15 19:07:18 +02:00
Sébastien Crozet
e84b73c848
Deprecate into_owned and clone_owned for Quaternion, UnitQuaternion, and Transform.
2017-08-15 19:07:18 +02:00
Sébastien Crozet
70bb2cbe46
Implement Clone, Debug, Copy for all linalg structures.
2017-08-15 19:07:18 +02:00
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
053de0576f
nalgebra-lapack: unify API of LU.solve and Cholesky.solve with nalgebra.
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
aaa359f3b0
Remove hand-written rustdoc doc for quaternon and unit_complex.
...
Those are now generated automatically by rustdoc.
2017-08-15 19:07:18 +02:00
Sébastien Crozet
a7bce9cf3f
symmetric_eigen: allow computing only eigenvalues.
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
a45ef26375
Provide safer Abomonation impl for matrix arrays
...
This is more robust than delegating to a slice, which has been removed
upstream due to unsafety. Since we can rely on there being no pointer
indirection in a GenericArray, we just iterate over the array.
2017-08-14 20:53:55 +02:00
Eduard Bopp
e09af0ca82
Implement Abomonation for remaining types
2017-08-14 14:32:02 +02:00
Eduard Bopp
f67a7bd324
Implement Abomonation for rotations
2017-08-14 12:41:03 +02:00
Eduard Bopp
308177a7d6
Implement Abomonation for translations
2017-08-14 12:37:16 +02:00
Eduard Bopp
7c3a05f668
Implement Abomonation for dynamic matrices
2017-08-14 12:33:14 +02:00
Eduard Bopp
49f12a379d
Implement Abomonation for static-size points
2017-08-14 12:18:47 +02:00
Eduard Bopp
65fa4cf740
Implement Abomonation for static matrices
2017-08-14 12:07:06 +02:00
Eduard Bopp
e0cc7ff21b
Fix TCategory implementation for TAffine
...
Closes #271 .
2017-07-29 14:45:20 +02:00
Eduard Bopp
9e02b13f3e
Refer to other conversion method in documentation
...
This is motivated by #235 hoping to improve discoverability of this
feature.
2017-07-28 20:13:52 +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
Eduard Bopp
cfa3c6533f
Merge pull request #242 from sebcrozet/into_iterator
...
Implement IntoIterator for &Matrix and &mut Matrix
2017-07-13 03:12:38 +02:00
Eduard Bopp
69fd070d50
Merge pull request #259 from burtonageo/update_readme
...
update crate documentation to point to latest crates.io version
2017-07-13 03:09:17 +02:00
Brendan Zabarauskas
ba41a8ce5a
Implement the sum and product traits for matrices
...
Closes #264
2017-07-02 01:27:16 +10:00
George Burton
7b17fa58e8
update crate documentation to point to latest
2017-05-20 19:39:02 +01: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
Sébastien Crozet
485abf1462
Update to serde 1.0.
2017-04-24 20:13:30 +02:00
Sébastien Crozet
68b7d21828
Implement IntoIterator for &Matrix and &mut Matrix
...
IntoIterator for Matrix will beharder to implement.
Partially addresses #241 .
2017-04-11 00:16:43 +02:00
Sébastien Crozet
cbbe1a2aee
Fix html_root_url.
2017-04-09 13:19:27 +02:00
Jonas Olson
9c79937485
Allow for documentation strings in macro component_binop_impl.
2017-04-07 18:42:22 +02:00
Jonas Olson
acfa8586ea
Fix typo in scalar.rs.
2017-04-06 19:49:00 +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
42b48563be
Make serde optional behind the "serde-serialize" feature.
2017-02-15 22:04:34 +01:00
Sébastien Crozet
086e6e719f
Doc + slerp + conversions.
2017-02-12 18:17:09 +01:00
Sébastien Crozet
99b6181b1e
Complete library rewrite.
...
See comments on #207 for details.
2016-12-04 22:47:36 +01:00
nwin
30d37bc6cc
Fixed typos in point.rs and vector.rs.
2016-10-15 12:02:24 +02:00
Sébastien Crozet
89c745fa17
Fix &DMatrix - DMatrix.
...
Fix #203 .
2016-09-06 19:42:28 +02:00
Sébastien Crozet
d442b0479d
Prevent the README cargo example to be compiled as a test.
2016-08-29 21:22:09 +02:00
Sébastien Crozet
8f5b60421c
Add an example dependency entry to the README.
2016-08-29 21:16:15 +02:00
Sébastien Crozet
96d7f68f14
Merge pull request #199 from phaazon/unused-arg
...
Unused arg in ApproxEq removed
2016-08-29 21:11:55 +02:00
Jakub Hlusička
840fa71e67
implement common operations for references
2016-08-26 12:22:13 +02:00
Dimitri Sabadie
4afb2ff476
Fixed tests ( #198 ).
2016-08-26 11:00:34 +02:00
Dimitri Sabadie
a90c2c23fa
Fixed #198 .
2016-08-26 10:09:53 +02:00
Sébastien Crozet
d29ff53329
Implement traits from the algebra crate.
2016-08-21 21:35:56 +02:00
Sébastien Crozet
326b22ac33
Fix benchmarks.
2016-08-16 13:35:17 +02:00
Sébastien Crozet
05a0c12c4a
Add a missing file that defines the Unit
type.
2016-08-16 12:47:11 +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
Sébastien Crozet
d45c242a15
Add a Unit
wrapper type, remove UnitQuaternion.
...
The `Unit` wrapper type ensures that elements of the underlying type has a unit norm.
For example, `Unit<Vector3>` designates an element of S².
In particular `UnitQuaternion<N>` is now a type alias for `Unit<Quaternion<N>>`.
2016-08-16 10:27:07 +02:00
Sébastien Crozet
88a74ca4e5
Macro groupping.
2016-08-11 23:28:08 +02:00
Sébastien Crozet
7b4a57c224
Fix some clippy warning.
...
The following lints were disabled:
* wrong_self_convention
* needless_range_loop
* reverse_range_loop
* len_without_is_empty
* explicit_iter_loop
* many_single_char_names
* similar_names
* too_many_arguments
* float_cmp
* new_without_default
2016-08-11 23:08:21 +02:00
Dimitri 'phaazon' Sabadie
1fdd8979af
Fixed Zero and One for Quaternion.
2016-07-30 14:08:55 +02:00
Dimitri Sabadie
988d9272d2
Cleaned up exp(), log() and powf() for Quaternion. Also, they’re for Quaternion only as we cannot define them on UnitQuaternion.
2016-07-29 17:51:35 +02:00
Dimitri Sabadie
213cc41f7d
Added exp(), log() and powf() for Quaternion / UnitQuaternion.
2016-07-29 15:56:04 +02:00
Sébastien Crozet
aa7d4b927c
Implement Display for Identity.
2016-04-30 14:32:16 +02:00
Sébastien Crozet
13a5bee25f
Implement From returning a value (instead of a ref only) for matrices and vectors.
2016-04-19 09:36:30 +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
0380661bd2
Remove some restrictions for NumVector
.
...
This removes the following inheritances:
* Mul<Self, Output = Self>
* Div<Self, Output = Self>
* Add<N, Output = Self>
* Sub<N, Output = Self>
* MulAssign<Self>
* DivAssign<Self>
* AddAssign<N>
* SubAssign<N>
They silently overrided:
* Mul<N, Output = Self>
* Div<N, Output = Self>
* Add<Self, Output = Self>
* Sub<Self, Output = Self>
* MulAssign<N>
* DivAssign<N>
* AddAssign<Self>
* SubAssign<Self>
2016-04-17 19:26:18 +02:00
Sébastien Crozet
479cc7a7ff
Fix compilation when the "generic_sizes" feature is enabled.
2016-04-17 17:42:14 +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
Jason Orendorff
74fd3e1a04
Support f64 * Vec3<f64>
and so on.
...
To be specific, support is added for `N op T<N>` where `N` is `f32` or `f64`,
`op` is one of `+` `-` `*`, and `T` is one of the `Vec`, `DVec`, `Mat`, or `DMat`
generic types. These are all cases where `T<N> op N` is already supported.
Rust does not support generic impls in this case, but `f32` and `f64` cover
many common cases.
Fixes #182 .
2016-04-17 09:25:08 +02:00
Jeroen Bollen
dea0ccc1fd
Made PntAsVec use associated types. ( #179 )
...
Fix #177
2016-04-17 09:23:37 +02:00
Sébastien Crozet
0dc3b91abd
Fix Ortho when the feature arbitrary
is enabled.
2016-03-31 21:44:42 +02:00
Sébastien Crozet
20bb99c312
Minor documentation fixes.
...
Fix #174 .
2016-03-31 21:30:23 +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
60c0f32e1c
Feature-gate the VecN
structure.
...
`rustc` is has a hard time compiling it from time to time.
2016-03-24 19:44:08 +01:00
Sébastien Crozet
fe73e8743f
Minor comment fix.
2016-03-24 19:44:08 +01:00
Sébastien Crozet
cbbf5f138d
Remove the double-dispatch trick for Cast implementations.
...
It is obsolete now that rustc supports multiple trait implementations.
2016-03-24 19:44:08 +01:00