Jack Wrenn
05eb9ac2ba
simplify anti-aliasing assertion
2019-04-16 09:14:46 +02:00
Jack Wrenn
306f096c64
prevent constructing MatrixSliceMutMN
for which disjoint indices may alias the same linear index
...
Fixes #486 .
2019-04-16 09:14:46 +02:00
Stefan Mesken
ff9027f473
removed depedency on Vec
2019-04-08 23:44:49 +02:00
Stefan Mesken
cb459d4493
addressed Trevis CI error
2019-04-08 23:44:49 +02:00
Stefan Mesken
5392b936d1
Allow the removal of multiple rows/columns given an array of indices. #530
2019-04-08 23:44:49 +02:00
Sébastien Crozet
b5f452087e
Release v0.18.0
2019-03-31 17:32:40 +02:00
sebcrozet
bb06701eff
Fix the return type of convolve_same
to match the documentation.
2019-03-31 17:04:20 +02:00
sebcrozet
ae4afa3d2c
Merge branch 'master-public' into dev
...
# Conflicts:
# Cargo.toml
# src/base/matrix.rs
# src/geometry/quaternion.rs
2019-03-31 16:33:25 +02:00
sebcrozet
b5b81a0ba9
Bump version numbers.
2019-03-31 15:25:54 +02:00
sebcrozet
94a8babcdc
Uncomment the fast renormalization of Rotation2.
2019-03-31 14:34:07 +02:00
sebcrozet
18b9f82042
Fix warnings.
2019-03-31 13:32:26 +02:00
sebcrozet
7dbff7c389
Continue reexporting the deprecated alga::general::Real trait.
2019-03-31 12:26:20 +02:00
sebcrozet
55873cae37
Fix compilation with no-std.
2019-03-31 12:06:26 +02:00
sebcrozet
ba40e8eb55
Fix merge errors due to the switch to rust 2018.
2019-03-31 10:53:31 +02:00
sebcrozet
38ef0cbf7b
Merge branch 'dev' into complex
...
# Conflicts:
# src/base/ops.rs
# src/geometry/isometry.rs
# src/geometry/quaternion.rs
# src/geometry/quaternion_construction.rs
# src/geometry/rotation.rs
# src/geometry/similarity.rs
# src/geometry/transform.rs
# src/geometry/translation.rs
# src/geometry/unit_complex.rs
2019-03-31 10:48:59 +02:00
Adam Nemecek
1e04053a21
refactoring
2019-03-31 10:34:03 +02:00
Adam Nemecek
e416360fc9
geometric operations
2019-03-31 10:34:03 +02:00
Simon Puchert
74aefd9c23
Improve precision of UnitQuaternion::angle ( #569 )
...
The previous implementation had stability problems for small angles due
to the behaviour of the arccosine it used. In particular, it needs a
hack to handle "cosines" greater than 1 and the smallest obtainable
nonzero angle for e.g. f32 is acos(1-2^-22) = 0.00069...
These problems can be fixed by using an arctangent-based formula.
2019-03-31 10:32:34 +02:00
sebcrozet
56f961c4bc
Reexport Complex from num_complex.
2019-03-26 18:02:14 +01:00
sebcrozet
3b6cd04a80
Adapt BLAS tests to complex numbers.
2019-03-26 18:02:03 +01:00
sebcrozet
4ef4001836
Rename Real to RealField.
2019-03-25 11:21:41 +01:00
sebcrozet
5b28c39fa7
Rename Complex to ComplexField.
2019-03-25 11:19:36 +01:00
Samuel Hurel
b4d800f3e2
Fix matrix slerp function ( #568 )
...
* Fix matrix slerp function
* Adding slerp doc test
2019-03-24 21:44:49 +01:00
sebcrozet
3cbe60523a
2018 edition.
2019-03-23 14:33:47 +01:00
sebcrozet
ce24ea972e
Remove all spurious allocation introduced by complex number support on decompositions.
2019-03-23 14:13:00 +01:00
sebcrozet
921a05d523
Implement some BLAS opertaions involving adjoint.
2019-03-23 11:48:12 +01:00
sebcrozet
1001e8ee0f
Cleanup warnings and rename Schur -> RealSchur
2019-03-23 11:46:56 +01:00
sebcrozet
fd65738738
Fix icamax_full doc-test.
2019-03-19 22:56:32 +01:00
sebcrozet
cb367a645d
Fix mint tests.
2019-03-19 22:53:21 +01:00
sebcrozet
b0a9eab0b9
Final SVD fix.
2019-03-19 22:52:57 +01:00
sebcrozet
3edef2f006
Decomposition results: return a real vector whenever applicable.
...
This includes singular values, eigenvalues of hermitian matrices, tridiagonalization and bidiagonalization diagonal and off-diagonal elements.
2019-03-19 14:22:59 +01:00
sebcrozet
2f0d95bdbb
Fix most tests.
2019-03-19 12:00:10 +01:00
sebcrozet
e4748c69ce
Start fixing SVD.
2019-03-18 11:23:19 +01:00
adamnemecek
1e614db227
Quaternionic division + refactoring ( #563 )
2019-03-18 09:08:42 +01:00
Sébastien Crozet
f916dae6ed
Merge pull request #537 from greizgh/fix-axpy-typo
...
Fix typo in axpy documentation
2019-03-16 10:06:35 +01:00
Sébastien Crozet
fac012a775
Merge pull request #558 from tpdickso/geometric-transform-point
...
Add the `transform` methods as inherent methods on geometric types
2019-03-16 10:06:00 +01:00
Greizgh
0f09f2a58c
Fix typo in axpy documentation
2019-03-15 15:59:39 +01:00
Sébastien Crozet
a2c0a453d3
Add operator explanation to docs
...
Co-Authored-By: tpdickso <tpdickso@uwaterloo.ca>
2019-03-15 10:50:47 -04:00
sebcrozet
010c009cff
Fix Schur decomposition.
2019-03-12 13:15:02 +01:00
est31
db3d08f81a
Fix two compiler warnings
...
Fixes #561
2019-03-12 09:00:23 +01:00
Sébastien Crozet
b46cf75996
Merge pull request #560 from adamnemecek/master
...
quaternion trigonometry
2019-03-04 21:18:24 +01:00
Adam Nemecek
edb08cd900
quaternion trigonometry
2019-03-04 08:36:46 -08:00
Sébastien Crozet
2f4983d778
Merge pull request #539 from npapapietro/Implement_convolution_#520
...
Implement convolution #520
2019-03-02 22:47:21 +01:00
Nathan
36feddb8c2
Moving functions into impl for Vector<N,D,S>
2019-03-02 15:00:40 -06:00
sebcrozet
77f048b6b9
WIP use Complex instead of Real whenever possible on the linalg module.
2019-03-02 19:33:49 +01:00
Benjamin Hetherington
aeff67ecbd
Correct typo in quaternion documentation ( #559 )
...
Correct "looses" to "loses" in quaternion.rs documentation.
2019-02-25 17:34:13 +01:00
Nathan
28525bfc20
Restructured usage of convolves, added unit testing.
2019-02-24 19:53:09 -06:00
Terence
2a2e9d7f8e
Add the transform
methods as inherent methods on geometric types
...
This adds `transform_point`, `transform_vector`,
`inverse_transform_point` and `inverse_transform_vector` as inherent
methods on the applicable geometric transformation structures, such
that they can be used without the need to import the `Transformation`
and `ProjectiveTransformation` traits from `alga`.
2019-02-24 11:29:27 -05:00
adamnemecek
704331be4f
added Quaternion accessors for r,i,j,k, refactored conjugate to use imag ( #551 )
2019-02-23 16:03:01 +01:00
Nathan
a3d571ea6b
Merge remote-tracking branch 'upstream/master' into Implement_convolution_#520
2019-02-23 08:29:41 -06:00
Jack Wrenn
20e9c6f480
Implement iter::Sum
for DMatrix
( #552 )
...
Fixes #514 .
2019-02-23 15:02:27 +01:00
sebcrozet
7c91f2eeb5
Use Complex instead of Real whenever possible on the base/ module.
2019-02-23 11:24:07 +01:00
Nathan
2a2debf58b
Fixing documentation
2019-02-20 20:32:09 -06:00
Nathan
9f52019385
Fixing type traits based on feedback, convolve_full
still broken
2019-02-18 19:01:18 -06:00
Sébastien Crozet
c97dfaf381
Add renormalization and rotation extraction from general 2D and 3D matrices. ( #549 )
...
* Add From impls to convert between UnitQuaterion/UnitComplex and Rotation2/3
* Add rotation extraction from a Matrix2 or Matrix3.
* Add fast Taylor renormalization for Unit.
Fix 376.
* Add renormalization for Rotation3.
Renormalization for Rotation2 requires Complex to implement VectorSpace which will be fixed only on alga v0.9
* Update Changelog.
2019-02-18 22:41:46 +01:00
adamnemecek
975d72f070
Replace explicit types with Self where possible.
2019-02-16 22:29:41 +01:00
Nathan
b08c2ad70d
Feedback updates round 1
2019-02-14 20:54:26 -06:00
Nathan
bca385ea6b
Quick fix to documentation
2019-02-10 13:46:37 -06:00
Nathan
b3c6492530
Moved test file to lingal folder, wrote tests based on github ticket request (scipy reference)
2019-02-10 13:40:32 -06:00
sebcrozet
fac709b0c0
Release nalgebra v0.17 and nalgebra-glm v0.3.
2019-02-03 17:03:12 +01:00
Sébastien Crozet
cc7bab9755
Merge branch 'master' into as_ptr
2019-02-03 16:55:54 +01:00
sebcrozet
08f31837a8
Update to alga 0.8.
2019-02-03 15:52:15 +01:00
sebcrozet
7be7fc8776
Fix compilation with no-std.
2019-02-03 15:16:50 +01:00
sebcrozet
ce8879c37a
Add all the missing docs.
2019-02-03 14:18:55 +01:00
sebcrozet
fc24db8ff3
Merge branch 'master-public' into sparse
...
# Conflicts:
# Cargo.toml
# examples/matrix_construction.rs
# nalgebra-glm/src/constructors.rs
# nalgebra-glm/src/ext/matrix_clip_space.rs
# nalgebra-glm/src/ext/matrix_transform.rs
# nalgebra-glm/src/ext/mod.rs
# nalgebra-glm/src/ext/quaternion_common.rs
# nalgebra-glm/src/gtx/quaternion.rs
# nalgebra-glm/src/gtx/rotate_vector.rs
# nalgebra-glm/src/lib.rs
# nalgebra-glm/src/traits.rs
# nalgebra-lapack/src/cholesky.rs
# nalgebra-lapack/src/eigen.rs
# nalgebra-lapack/src/hessenberg.rs
# nalgebra-lapack/src/lu.rs
# nalgebra-lapack/src/qr.rs
# nalgebra-lapack/src/schur.rs
# nalgebra-lapack/src/svd.rs
# nalgebra-lapack/src/symmetric_eigen.rs
# rustfmt.toml
# src/base/array_storage.rs
# src/base/blas.rs
# src/base/cg.rs
# src/base/default_allocator.rs
# src/base/edition.rs
# src/base/iter.rs
# src/base/matrix.rs
# src/base/swizzle.rs
# src/base/vec_storage.rs
# src/geometry/mod.rs
# src/geometry/point_construction.rs
# src/geometry/quaternion.rs
# src/geometry/similarity.rs
# src/geometry/translation.rs
# src/geometry/unit_complex_construction.rs
# src/linalg/bidiagonal.rs
# src/linalg/cholesky.rs
# src/linalg/full_piv_lu.rs
# src/linalg/hessenberg.rs
# src/linalg/lu.rs
# src/linalg/permutation_sequence.rs
# src/linalg/qr.rs
# src/linalg/schur.rs
# src/linalg/svd.rs
# src/linalg/symmetric_eigen.rs
# src/linalg/symmetric_tridiagonal.rs
# tests/geometry/point.rs
# tests/geometry/quaternion.rs
# tests/lib.rs
# tests/linalg/eigen.rs
# tests/linalg/svd.rs
2019-02-03 12:53:41 +01:00
sebcrozet
f52bd4be3d
Rename VecStorage::data/data_mut to ::as_vec/as_vec_mut
2019-02-03 11:48:42 +01:00
sebcrozet
664658760a
Remove the Deref implementation for MatrixRef.
...
Fix #380 .
2019-02-03 11:41:14 +01:00
sebcrozet
e225297147
Add doc-tests for apply_norm and apply_metric_distance.
2019-02-03 11:29:10 +01:00
sebcrozet
48e9bbc065
Add tests for row and column iterators.
2019-02-03 11:17:23 +01:00
sebcrozet
bafd74da70
Fix doc-tests for variance.
2019-02-03 11:06:06 +01:00
sebcrozet
381fdb642c
Remove useless extern crate in doc-tests.
2019-02-03 11:01:11 +01:00
sebcrozet
dcae274d2e
Fix rebase fallback + add missing docs.
2019-02-03 08:33:07 +01:00
sebcrozet
414fe8afda
Pass references to zip_apply and zip_zip_apply.
2019-02-03 08:08:03 +01:00
sebcrozet
da8dc6c4bd
Use IntoIterator for select_rows and select_columns argument.
2019-02-03 08:08:03 +01:00
sebcrozet
d1391592a0
Add zip_apply and zip_zip_apply.
2019-02-03 08:08:03 +01:00
sebcrozet
904000ce27
Add argmin and argmax.
2019-02-03 08:08:03 +01:00
sebcrozet
0d2c1be8da
Add row and column iterators.
2019-02-03 08:08:03 +01:00
sebcrozet
bba1f48e81
Add select_rows and select_columns.
2019-02-03 08:06:24 +01:00
sebcrozet
01d1f9d24b
Simplify the construction of DVector.
...
Fix #377 .
2019-02-03 08:06:24 +01:00
sebcrozet
660b868603
Add more general norms and metrics.
...
Fix #258 .
2019-02-03 08:06:24 +01:00
sebcrozet
cc2a70664d
Add statistics functions: sum, variance, mean.
2019-02-03 08:06:24 +01:00
Sébastien Crozet
570611a59b
Merge pull request #524 from shivshank/master
...
Add `push` method to Vector
2019-02-03 07:52:03 +01:00
Sébastien Crozet
9167965252
Merge pull request #525 from jswrenn/fix-serde-deserialization-panic
...
Fix out-of-bounds panic during deserialization; produce error instead
2019-02-03 07:31:03 +01:00
Sébastien Crozet
77a317234c
Merge pull request #533 from ybyygu/master
...
fix doc strings for `map_with_location` and `lower_triangle`
2019-02-03 07:29:49 +01:00
Wenping Guo
b42339ec94
fix doc string of lower_triangle
method
2019-01-30 15:42:28 +08:00
Wenping Guo
bb3f3ac2ee
fix doc for map_with_location
method
2019-01-30 09:33:45 +08:00
sebcrozet
13f76efe36
Add simple constructors for pure-translation and pure-rotation isometries.
2019-01-29 12:04:23 +01:00
sebcrozet
a7ab61f974
Add horizontal and vertical resizing for dynamic matrices and vectors.
2019-01-29 12:03:48 +01:00
sebcrozet
9fbdedb942
Implement ContiguousStorage for some matrix slices.
2019-01-29 12:02:05 +01:00
Gedl
59b0709fcf
Retain new_observer_frame as a deprecated wrapper function
2019-01-17 10:17:00 +01:00
Gedl
3fdcf5329d
Rename ::new_observer_frame to ::face_towards
2019-01-16 22:41:25 +01:00
Jack Wrenn
6426a7cb6f
Fix out-of-bounds panic during deserialization; produce error instead.
...
Fixes #522
2019-01-16 11:23:20 -05:00
shivshank
85a943b7ef
Rewrite to_homogenous for vectors to use push
2019-01-09 21:48:03 -05:00
shivshank
3055c289c0
Add push
method to Vector
2019-01-09 21:38:58 -05:00
sebcrozet
5569850dbd
Fix examples on stable.
2018-12-29 15:32:09 +01:00
sebcrozet
c9351cb818
Fix merge fallout.
2018-12-29 14:57:26 +01:00
sebcrozet
82106caa9e
Merge branch 'dev' into master-public
...
# Conflicts:
# src/linalg/svd.rs
2018-12-29 14:39:32 +01:00
Sébastien Crozet
564246ec1c
Merge pull request #507 from burtonageo/update_deps_2
...
Update dependencies, and fix tests from fallout
2018-12-29 14:33:53 +01:00
sebcrozet
be8d1ce3ce
Fix compilation errors related to rand.
2018-12-29 14:22:24 +01:00
Jack Wrenn
5a9a1eb645
typofix: indicies -> indices
2018-12-29 13:41:56 +01:00
Jack Wrenn
4ab8a290c7
groundwork for indexing with typenums
2018-12-29 13:41:56 +01:00
Jack Wrenn
939915131d
MutMatrixIndex -> MatrixIndexMut
2018-12-29 13:41:56 +01:00
Jack Wrenn
57123ed6aa
Overloaded Indexing
2018-12-29 13:41:56 +01:00
Jack Wrenn
d3510b8ff6
typofix: DimNameNimimum
-> DimNameMinimum
2018-12-29 13:41:23 +01:00
sebcrozet
f36ff97d6a
Fix deprecation warnings.
2018-12-29 13:19:09 +01:00
Jack Wrenn
53632cd1b4
Implement Hash
for all Matrix<N, R, C>
where N: Hash
.
...
Implements #508 .
2018-12-29 11:29:13 +01:00
sebcrozet
a14d8a4cb2
Add coordinates access to translations.
...
Fix #509 .
2018-12-26 15:19:50 +01:00
sebcrozet
cae2be5cad
Add .min and .max.
2018-12-22 18:03:32 +01:00
George Burton
6a4323d0ea
Fix unintentional change
2018-12-18 14:46:29 +00:00
George Burton
9c37c51203
Update dependencies, and fix tests from fallout
2018-12-18 14:44:53 +00:00
Jack Wrenn
8b8f127f8d
Deprecate origin
...
See #371 .
2018-12-16 12:58:51 +01:00
Jack Wrenn
daadac7647
Deprecate try_normalize
...
See #371 .
2018-12-16 12:58:51 +01:00
Jack Wrenn
8a5e062e7e
Deprecate normalize
...
See #371 .
2018-12-16 12:58:51 +01:00
Jack Wrenn
e89faca588
Deprecate magnitude_squared
...
See #371 .
2018-12-16 12:58:51 +01:00
Jack Wrenn
770489c664
Deprecate magnitude
...
See #371 .
2018-12-16 12:58:51 +01:00
Jack Wrenn
2bb7c011b1
Deprecate norm_squared
...
See #371 .
2018-12-16 12:58:51 +01:00
Jack Wrenn
e55c72fddc
Deprecate norm
.
...
See #371 .
2018-12-16 12:58:51 +01:00
Jack Wrenn
03f7c2d286
Deprecate angle
...
See #371 .
2018-12-16 12:58:51 +01:00
Jack Wrenn
52b8155c67
Deprecate dot
...
See #371 .
2018-12-16 12:58:51 +01:00
Jack Wrenn
aac29b70ea
Deprecate abs
...
See #371
2018-12-16 12:58:51 +01:00
Jack Wrenn
2595db1607
Fix doctests broken by 35d2381a2a
2018-12-16 12:58:20 +01:00
Jack Wrenn
0d47a8e16b
Rename Perspective3::unwrap
to Perspective3::into_inner
and deprecate Perspective3::unwrap
...
See #460
2018-12-16 12:58:20 +01:00
Jack Wrenn
9600c45dd4
Rename Orthographic3::unwrap
to Orthographic3::into_inner
and deprecate Orthographic3::unwrap
...
See #460
2018-12-16 12:58:20 +01:00
Jack Wrenn
43c5f4cb73
Rename Transform::unwrap
to Transform::into_inner
and deprecate Transform::unwrap
...
See #460
2018-12-16 12:58:20 +01:00
Jack Wrenn
35ab64b086
Rename Rotation::unwrap
to Rotation::into_inner
and deprecate Rotation::unwrap
...
See #460
2018-12-16 12:58:20 +01:00
Jack Wrenn
0ab137bfcf
Rename Unit::unwrap
to Unit::into_inner
and deprecate Unit::unwrap
...
See #460
2018-12-16 12:58:20 +01:00
Jack Wrenn
0f66403cbb
Rename MatrixVec
to VecStorage
.
...
See #470 .
2018-12-06 20:51:29 +01:00
Jack Wrenn
b83c3b857b
Rename MatrixArray
to ArrayStorage
.
...
See #470 .
2018-12-06 20:51:29 +01:00
sebcrozet
c69ab193be
Fix cornercase for Rotation3 conversion to euler angles.
...
Fix #494
2018-12-04 22:04:07 +01:00
Jack Wrenn
72d89c75ae
Group swizzle methods by dimensional requirement.
...
This is semantically equivalent, but improves the rendered documentation.
2018-11-24 08:03:54 +01:00
sebcrozet
f972d1dd7e
Small dimension check fix for swizzling.
2018-11-23 07:01:35 +01:00
Jack Wrenn
accdd51faf
Implement Into<Vec<N>>
for MatrixVec<N, R, C>
2018-11-23 07:01:15 +01:00
Jack Wrenn
74ff6ae199
Implement Point
swizzling
2018-11-23 06:34:00 +01:00
Jochen Görtler
85bfae5390
RFC: Add comment in Rotation::to_homogeneous()
2018-11-20 17:47:29 +01:00
Sébastien Crozet
bc9c74cbb6
RFC: Remove redundant Dim
trait
...
Co-Authored-By: grtlr <grtlr@users.noreply.github.com>
2018-11-20 17:47:29 +01:00
Jochen Görtler
72f61918f4
RFC: Fix type annotations
2018-11-20 17:47:29 +01:00
Jochen Görtler
3ac5efeac1
WIP: to_homogeneous for MatrixN
2018-11-20 17:47:29 +01:00
Jim Turner
267d9760bd
Add as_ptr and as_mut_ptr methods
...
This is useful for moving around a matrix/slice in unsafe code and for
converting slices to other types (e.g. `ndarray::ArrayView`).
2018-11-19 16:53:46 -05:00
Jack Wrenn
c36416b9c0
Add ShapeConstraint
for Extend<Vector<_,_,_>>
implementations.
2018-11-18 06:36:04 +01:00
Jack Wrenn
0ed67d0470
Implement Extend<Vector<_,_,_>>
for Matrix
.
...
Extend a `Matrix` with columns drawn from an iterator of `Vector`s.
2018-11-18 06:36:04 +01:00
Jack Wrenn
0f29a3ae0a
Simplify documentation examples for Extend
implementations.
2018-11-18 06:36:04 +01:00
Jack Wrenn
f711c107ca
Implements Extend
for Matrix<N, Dynamic, U1>
.
...
Extends a `Vector` with new rows populated from an iterator.
Inspired by https://github.com/rustsim/nalgebra/issues/446#issuecomment-437931790
2018-11-18 06:36:04 +01:00
Jack Wrenn
c3dd709c0a
Implements Extend
for Matrix<N, Dim, Dynamic>
.
...
Extends a matrix with new columns populated from an iterator.
2018-11-18 06:36:04 +01:00
sebcrozet
bd7d0be7a8
Remove over-restrictive assertions on Orthographic3 construction + add doc-tests.
...
Fix #365
2018-11-10 12:57:47 +01:00
sebcrozet
69490c2cea
Add doc-tests to Transform.
2018-11-10 11:20:34 +01:00
sebcrozet
b6d741c593
Document similarity_construction.rs.
2018-11-10 11:20:34 +01:00
sebcrozet
a8a9a3082a
Add doc-tests to unit_complex_construction.
2018-11-10 11:20:34 +01:00
sebcrozet
ff5b64e35d
Add doc-tests to unit_complex.rs.
2018-11-10 11:20:34 +01:00
sebcrozet
536923f9fc
Add doc-tests to rotation_specialization.
2018-11-10 11:20:34 +01:00
sebcrozet
80fc057ead
Add doc-tests to rotation_construction.
2018-11-10 11:20:34 +01:00
sebcrozet
7d9d47d9ea
Complete doc-tests of rotation.rs.
2018-11-10 11:20:34 +01:00
sebcrozet
c24caa311f
Add some documentation for Rotation.
2018-11-10 11:20:34 +01:00
Jack Wrenn
9e763bbcff
doc tests for from_vec_generic
and from_vec
2018-11-08 06:42:55 +01:00
Jack Wrenn
d6fb07dad2
Introduce from_vec
, to complement from_vec_generic
2018-11-08 06:42:55 +01:00
Jack Wrenn
68bdb427cf
Rename: from_vec
-> from_vec_generic
2018-11-08 06:42:55 +01:00
Jack Wrenn
ff4e44a8ed
Introduces a from_vec
constructor for MatrixMN
.
...
Addresses #378 .
The implementation of `from_vec` simply wraps a call to
`from_iterator_generic`. Because the standard library's implementation
of `into_iter` is specialized for the `.into_iter().collect<Vec<_>>()`
case (see https://github.com/rust-lang/rust/issues/46084#issuecomment-345524508 ),
this is equivalent to re-using the original Vec as storage.
2018-11-08 06:42:55 +01:00
sebcrozet
b4b66bddd2
Add comment about cs matrix multiplication implementation.
2018-11-06 19:25:27 +01:00
sebcrozet
f43ab963ad
Fix matrix market grammar.
2018-11-06 19:25:16 +01:00
Antony Lesage
c370564dba
Fix MatrixMN::from_distribution ( #463 )
2018-11-06 19:24:20 +01:00
sebcrozet
8341ec2f10
Run rustfmt.
2018-11-06 18:32:20 +01:00
sebcrozet
ed07b78b97
Add matrixmarket parser.
2018-11-06 18:31:04 +01:00
sebcrozet
383a18f083
Improve CsMatrix multiplaction performances.
2018-11-06 18:27:43 +01:00
sebcrozet
538e18b3e9
Ensure the output of addition is sorted.
2018-11-05 16:44:59 +01:00
sebcrozet
748cfeea66
Ensure the output of multiplication and triangular solve are sorted.
2018-11-05 16:38:43 +01:00
sebcrozet
c3e8112d5e
Add implementation of the left-looking cholesky decomposition.
2018-11-04 07:10:43 +01:00
sebcrozet
a7acd5b832
Fix missing type annotation.
2018-11-01 11:07:36 +01:00
sebcrozet
2119c1adf5
Complete documentation for quaternions.
2018-11-01 11:07:36 +01:00
sebcrozet
911ddca588
Implement From<Vector> for Translation and Quaternion.
2018-11-01 11:07:36 +01:00
sebcrozet
96db8e564a
Complete the documentation for Translation.
2018-11-01 11:07:36 +01:00
sebcrozet
1dd6bcce6a
Add doc-tests to most of quaternion.rs.
2018-11-01 11:07:36 +01:00
sebcrozet
98b0b842e9
Remove the inherent clone method from points.
...
Fix #458 .
2018-11-01 10:22:10 +01:00
sebcrozet
50d0b64924
Avoid bound-checking on cholesky decomposition.
2018-10-30 17:45:59 +01:00
sebcrozet
9bf1d0280d
Fix cholesky computation.
2018-10-30 17:29:32 +01:00
sebcrozet
0ba23da475
Make transform_vector and transform_point public.
2018-10-30 07:55:08 +01:00
sebcrozet
19d2bc0b7c
Fix typo.
2018-10-30 07:55:08 +01:00
sebcrozet
fc782f3644
Make MatrixN::{transform_vector, transform_point} inherent methods.
...
Addresses https://github.com/rustsim/nalgebra/issues/372
2018-10-30 07:55:08 +01:00
sebcrozet
7ecbacacda
Add elimination tree computation.
2018-10-30 07:46:34 +01:00
sebcrozet
bfab204a24
Add lerp for vectors.
...
Fix #453
2018-10-27 16:06:45 +02:00
sebcrozet
4ce6555b96
Add more point and quaternion documentation.
2018-10-27 15:00:18 +02:00
sebcrozet
b32a02f0ac
Add doc-tests to point_construction.rs
2018-10-27 15:00:18 +02:00
sebcrozet
551c44c854
Implement From<Vector> for Point.
2018-10-27 15:00:18 +02:00
sebcrozet
6d63a0a5f1
Add doc-tests to isometry_construction.rs
2018-10-27 15:00:18 +02:00
sebcrozet
a512e16868
Add doc-tests to isometry.rs.
2018-10-27 15:00:18 +02:00
sebcrozet
14ad10a7e0
Add rustfmt.toml and run it.
2018-10-27 15:00:18 +02:00
sebcrozet
5ea612ef96
Remove mention to the eye and target on the unit quaternion look_at_* methods.
2018-10-27 15:00:18 +02:00
sebcrozet
f6cd81b028
Add doc-tests for several matrix construction methods.
2018-10-27 15:00:18 +02:00
sebcrozet
15844d877a
Add doc-tests for componentwise operations.
2018-10-27 15:00:18 +02:00
sebcrozet
34b20dc291
Add lower triangular solve with sparse right-hand-side.
2018-10-23 18:18:05 +02:00
sebcrozet
e4e5659405
Add lower triangular solve with dense right-hand-side.
2018-10-22 17:55:13 +02:00
sebcrozet
dc8edeceb2
Use an iterator to iterate through a column entries.
2018-10-21 07:42:32 +02:00
sebcrozet
9fa3e7a769
Implement CsMatrix: axpy_cs, transpose, Add and Mul.
2018-10-20 22:42:16 +02:00
sebcrozet
0d24cf4dc0
Run rustmt.
2018-10-20 22:26:44 +02:00
sebcrozet
a3d363f397
Fix minor typos.
2018-10-16 20:57:52 +02:00
sebcrozet
7a9cfef285
Complete doc-tests for blas operations.
2018-10-16 20:57:52 +02:00
sebcrozet
8e3edf102c
Start adding doc-tests for BLAS operations.
2018-10-16 20:57:52 +02:00
Bruce Mitchener
47fe851173
Add favicons to docs.
2018-10-16 18:28:39 +02:00
sebcrozet
9e2541f949
Add a Point::from_slice
2018-10-13 13:13:48 +02:00
sebcrozet
a68937990b
Consider two empty matrices as equal.
2018-10-13 12:59:36 +02:00
sebcrozet
a390732b97
Fix partial_cmp
2018-10-13 12:59:36 +02:00
sebcrozet
18e9b8998d
Add impls of From/Into to convert any transformation types to a matrix.
2018-10-13 11:25:19 +02:00
João Costa
7a95644a21
Simplify SVD recompose pattern match
2018-10-13 10:55:37 +02:00
João Costa
8b1aa2078c
Change the SVD methods to return a Result instead of panicking
2018-10-13 10:55:37 +02:00
Bruce Mitchener
3be727e76b
Capitalize 'Euclidean'.
2018-10-09 08:31:38 +02:00
sebcrozet
c7c156a6a0
Use other keywords for isometry documentations.
...
Fix #419 .
2018-10-06 07:27:40 +02:00
Bruce Mitchener
3a24afd111
clippy: Use println!(f), without empty string.
2018-10-05 20:31:29 +02:00
Sébastien Crozet
5059d7ee7b
Add conditional compilation for the base::MatrixVec import too.
2018-10-04 20:37:12 +02:00
Sébastien Crozet
3abeae04f5
Add conditional compilation to From impls for dynamically-sized matrices.
2018-10-04 20:37:12 +02:00
Jack Wrenn
23d646c342
Add an Into
impl for converting MatrixSlice
s into MatrixMN
...
See #342 .
2018-10-04 20:37:12 +02:00
mborst
12962c3c13
Implement map_with_location.
2018-09-28 05:22:32 +02:00
Thomas Vincent
7331807a6d
Fix minor typos
2018-09-27 06:16:04 +02:00
Bruce Mitchener
a8ae62ea52
Improve cross-linking and cross-referencing in docs.
2018-09-27 06:00:32 +02:00
Bruce Mitchener
57fa7099aa
Call base
that instead of based
.
2018-09-27 05:49:18 +02:00
Benjamin Saunders
2f03857017
Introduce Unit::from_ref_unchecked
2018-09-25 05:35:20 +02:00
sebcrozet
f218186ec0
Add Rotation * Unit<Vector>
2018-09-24 22:05:15 +02:00
sebcrozet
51a4e73386
Use typenum type-level integer for swizzle dimension comparison.
...
Fix #408 .
2018-09-24 22:04:05 +02:00
Bruce Mitchener
175c41ed3a
Typo fixes.
2018-09-24 21:15:07 +02:00
sebcrozet
c6bc62c95f
For matrices, return the actual result of partial_clamp instead of None.
...
Fix #401
2018-09-24 20:58:09 +02:00
sebcrozet
f2bad264ef
Re-export conversion functions.
2018-09-23 17:10:49 +02:00
sebcrozet
eea13ffa7d
Add swizzling up to dimension 3 to vectors.
2018-09-23 17:10:49 +02:00
sebcrozet
38c7ed3a11
Add methods to see a Perspective3 or Orthographic3 as a Projective3.
2018-09-22 16:15:11 +02:00
sebcrozet
23bde7dfd0
Reduce requiremens from Real to Ring on the cg module.
2018-09-22 16:15:11 +02:00
sebcrozet
7884f20ea7
Add quaternion dot product.
2018-09-22 16:15:11 +02:00
sebcrozet
832bf42b56
Add slerp for unit vectors.
2018-09-22 16:15:11 +02:00
sebcrozet
a03fd6bff7
Add zip_zip_map to map on three matrices simultaneously.
2018-09-22 16:15:11 +02:00
Jacob Kiesel
787d20cff4
Add magnitude synonym functions for ease of use
2018-09-21 18:28:44 +02:00
sebcrozet
08685122ea
Fix projective * point multiplication.
...
The scaling did not occur at the right time.
2018-09-20 20:59:01 +02:00
sebcrozet
99b54465c7
Add a copy_from_slice method.
...
Fix #381 .
2018-09-13 08:37:20 +02:00
sebcrozet
b272f3ba76
Fix compilation errors when the serde-serialize feature is enabled.
...
Fix #369 .
2018-09-13 07:49:38 +02:00
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
Sébastien Crozet
c1ec00cfe7
Complete the documentation.
2016-03-24 19:44:08 +01:00
Sébastien Crozet
87a80c2de6
Fix tests.
2016-03-24 19:44:08 +01:00
Sébastien Crozet
ceed9e52bd
Implement Arbitrary
for VecN
.
2016-03-24 19:44:08 +01:00
Sébastien Crozet
88fb33cf44
Remove useless or incomplete structs: Vec0
, Pnt0
, Iso4
, Rot4
.
2016-03-24 19:43:50 +01:00
Sébastien Crozet
0c8b8bfcdb
Add similarity transformations Sim2 and Sim3 (uniform scale followed by a rotation followed by a translation).
2016-03-24 19:03:40 +01:00
Sébastien Crozet
f8f4924e47
Add vector perametrizable by their sizes.
2016-03-24 19:03:29 +01:00
Sébastien Crozet
ca6026e5cb
Merge pull request #168 from arturoc/master
...
mat_macros: from_homogeneous_impl was using dimension of src not dst
2016-01-10 16:12:44 +01:00
Sébastien Crozet
d15211737a
Restore most of @oleglite Row/Col implementations lost during the last merge.
2016-01-10 16:10:14 +01:00
Sébastien Crozet
91c4b58bbb
Fix missing trait bounds when the "arbitrary" feature is enabled.
2016-01-10 15:39:54 +01:00
Sébastien Crozet
58de7f461e
DMat{1..6}: make the Col
and Row
implementation return a DVec{1..6} instead of a plain DVec.
...
Also adds the `DVec{1..6}::new_uninitialized(dim)` function.
2016-01-10 15:23:18 +01:00
Sébastien Crozet
1338e0c358
DMat: implement from_row_iter
and from_col_iter
.
...
Those create a DMat by moving its argument into an interator and collecting it.
Fix #167 .
2016-01-10 14:50:08 +01:00
Sébastien Crozet
581251d5b4
Implement dynamic matrix with a maximum size.
...
Those are named DMat1 to DMat6 and have the same relation with DMat as DVec1 to DVec6 are related
to DVec.
As a side effect, the method `to_vec` of DMat was renamed `into_vec` to be more in line with the std lib.
Addresses the second point of #100 .
2016-01-10 14:50:02 +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
11b49f50c9
Implement Mean
for DVec
, DVecN
, VecN
and MatN
.
...
Fix #166 .
2016-01-10 14:49:48 +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
arturo castro
4845a0790a
mat_macros: from_homogeneous_impl was using dimension of src not dst
2016-01-08 10:02:06 +01:00
Sébastien Crozet
4098c6c5e5
Make Iso::look_at{_z} static.
...
This did not need to access `self`.
Fix #161 .
2015-11-15 21:56:25 +01:00
Sébastien Crozet
58000e4838
Implement AsRef, AsMut, From for vectors and matrices.
...
This allows pointer conversion between arrays and vectors or matrices.
Those implementations replace the `.as_array()` and `.as_array_mut()` method.
2015-11-15 21:38:28 +01:00
Sébastien Crozet
948341685e
Add implementation of RotationMatrix
for UnitQuat
.
2015-11-15 21:38:23 +01:00
Daniel D
179a6560ce
Fix eigenvalue calculation for diagonal matrices
2015-11-14 15:40:35 +01:00
Sébastien Crozet
37f1a1d26c
Style fixes.
2015-10-13 22:53:19 +02: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