Andreas Longva
ff435110b9
Implement CSR::disassemble and SparsityPattern::disassemble
2021-01-26 10:11:24 +01:00
Andreas Longva
a15e78a6b7
Put COO, CSR, SparsityPattern and related types in their own modules
...
This mimics how std does it, e.g. std::vec::Vec. This avoids potential
problems down the road, where adding more types might clutter the
API interface and generated documentation.
2021-01-26 10:11:24 +01:00
Andreas Longva
7a5f8ef1ea
Redesign error handling for CSR and SparsityPattern construction
...
SparsityPattern's constructor now returns a fine-grained error
enum that enumerates possible errors. We use this to build a more
user-friendly error when constructing CSR matrices.
We also overhauled the main SparseFormatError error type by
making it a struct containing a *Kind type and an underlying error
that contains the message.
2021-01-26 10:11:24 +01:00
Andreas Longva
7e94a1539a
Add an (incomplete) overview of planned functionality for nalgebra-sparse
...
The way it is currently written is temporary, but it helps structure
the work towards an initial MVP.
2021-01-26 10:11:24 +01:00
Andreas Longva
b1199da206
Verify data validity in try_* constructors
...
We can easily create the CSR and CSC constructors by using the
SparsityPattern constructors. However, one lingering problem
is giving meaningful error messages. When forwarding error messages
from the SparsityPattern constructor, the error messages must
be written in terms of "major" or "minor" dimensions, and using
general terms like "lanes", instead of "rows" and "columns".
When forwarding these messages up to CSR or CSC constructors,
they are not directly meaningful to an end user. We should find
a better solution to this problem, so that end users get
more meaningful messages.
2021-01-26 10:11:24 +01:00
Andreas Longva
7f5b702a49
CSR row access and iterators
2021-01-26 10:11:24 +01:00
Andreas Longva
41425ae52c
Use inline instead of inline(always)
2021-01-26 10:11:24 +01:00
Andreas Longva
b0ffd55962
Initial CSR and SparsityPattern impls (WIP)
2021-01-26 10:11:24 +01:00
Andreas Longva
1dbccfeb7c
Initial COO implementation
2021-01-26 10:11:24 +01:00
Andreas Longva
646f62a293
rustfmt (nalgebra)
2021-01-26 09:49:01 +01:00
Andreas Longva
5dfe06897f
Rename nalgebra/proptest to /proptest-support
...
This gives us some freedom in the future, in case we need
additional dependencies for the proptest integration.
2021-01-26 09:49:01 +01:00
Andreas Longva
b2dbcf3168
Add D=Dynamic default and ::to_range_inclusive for DimRange (nalgebra)
2021-01-26 08:57:47 +01:00
Andreas Longva
561501a08f
Upgrade nalgebra matrixcompare version to 0.2.0 (dev-dep)
2021-01-26 08:57:47 +01:00
Andreas Longva
402de4d045
Move nalgebra proptest slow tests into `slow` submodule
...
This way it's easier to keep track of what imports are only
necessary for the slow tests.
2021-01-26 08:57:47 +01:00
Andreas Longva
f909638bf4
Designate exhaustive matrix proptest as slow-tests
...
The slow-tests feature flag is intended to be used for tests
that take substantially more time to run than other unit tests.
2021-01-26 08:57:47 +01:00
Andreas Longva
cbef37ed9c
Fix proptest functionality test
...
The previous test claimed to verify that all possible outputs
are sampled, but it didn't. This commits fixes this issue
by actually computing all possible combinations.
However, to accomplish this we needed to add itertools as a test
dependency. Otherwise we'd have to implement our own way of
generating the Cartesian product of an arbitrary number
of sets.
2021-01-26 08:57:47 +01:00
Andreas Longva
f9ea2b4471
Initial proptest implementation for nalgebra
...
This introduces functionality for creating strategies for matrices and
vectors, as well as an implementation of Arbitrary.
Strategies for the geometric types (Point3, Quaternion etc.) are not
currently part of this contribution.
The current strategy implementation for matrices has some limitations
that lead to suboptimal shrinking behavior. This is documented in the
module-level docs, with some additional comments in the code.
2021-01-26 08:57:47 +01:00
Crozet Sébastien
b695aaa807
Release v0.24.0
2020-12-30 15:11:23 +01:00
Sébastien Crozet
c1eeaf0cf1
Merge pull request #817 from chinedufn/dq-serde
...
Serialize DQ to [N;8]
2020-12-20 15:51:17 +01:00
Chinedu Francis Nwafili
b9513257b8
Serialize DQ to [N;8]
...
Closes #816
2020-12-18 12:19:38 -05:00
Sébastien Crozet
d8fa3ff241
Merge pull request #810 from chinedufn/dual-quaternion
...
Introduce DualQuaternion type
2020-12-18 16:52:09 +01:00
Chinedu Francis Nwafili
7ec5d00c3d
Clean up DualQuat bounds
2020-12-18 10:38:19 -05:00
Chinedu Francis Nwafili
89134efc3b
Store DQ as real and dual Quat
2020-12-18 10:09:56 -05:00
Chinedu Francis Nwafili
8036c56fda
Introduce DualQuaternion type
...
This commit introduces the `DualQuaternion` type, in line with the plan
laid out in [#487 ].
[#487 ]: https://github.com/dimforge/nalgebra/issues/487
2020-12-18 09:13:24 -05:00
Sébastien Crozet
88145b7f8c
Merge pull request #814 from dimforge/quaternion_partial_eq_fix
...
Fix the PartialEq impl for quaternions.
2020-12-18 12:29:38 +01:00
Crozet Sébastien
44be05d3e6
Update the changelog.
2020-12-18 12:27:38 +01:00
Sébastien Crozet
3899d92f5d
Merge pull request #815 from dimforge/isometry_inv_mul
...
Add a dedicated method for computing isometry1.inverse() * isometry2.
2020-12-18 12:08:34 +01:00
Sébastien Crozet
8c615289dc
Merge pull request #813 from dimforge/deserialize_uninit
...
Add workaround for the deserialization of a matrix containing an enum.
2020-12-18 12:06:39 +01:00
Crozet Sébastien
ed74ff7c99
Simplify trait bounds for quaternion indexing.
2020-12-18 12:06:27 +01:00
Crozet Sébastien
60708640d3
Add a dedicated method for computing isometry1.inverse() * isometry2.
...
It is more efficient that way.
2020-12-18 11:55:46 +01:00
Crozet Sébastien
b15a274a14
Add workaround for the deserialization of a matrix containing an enum.
2020-12-18 11:54:56 +01:00
Crozet Sébastien
67603be6ed
Fix the PartialEq impl for quaternions.
...
The double-covering property should only be taken into account for `UnitQuaternion` instead of `Quaternion` itself.
2020-12-18 11:38:33 +01:00
Sébastien Crozet
8bc2773326
Merge pull request #811 from tomitheninja/patch-1
...
update the version number in the documentation
2020-12-18 10:49:38 +01:00
Südi Tamás
b01d01d486
update the version number in the documentation
...
from 0.21 to 0.23
2020-12-16 18:35:13 +01:00
Crozet Sébastien
dda1ae75e6
Release v0.23.2
2020-12-01 16:24:50 +01:00
Crozet Sébastien
9f45a1b2f9
Add Embark Studio to the sponsor list.
2020-11-26 13:59:42 +01:00
Sébastien Crozet
5afa938ad9
Merge pull request #800 from dimforge/docs-improvements-2
...
Docs improvements - part 2
2020-11-23 11:42:09 +01:00
Crozet Sébastien
651d318c26
Add sections to the Unit wrapper documentation
2020-11-21 12:19:04 +01:00
Crozet Sébastien
c1372c3041
Add sections to the UnitComplex documentation
2020-11-21 11:56:32 +01:00
Crozet Sébastien
99ac7a8e08
Add sections to the Rotation documentation
2020-11-21 11:56:32 +01:00
Crozet Sébastien
57723ef8fb
Run cargo fmt.
2020-11-20 17:52:32 +01:00
Crozet Sébastien
2a3d98bff8
Matrix, vector, isometry, and point aliases documentation: warn that the reader should take a look at the documentation of the aliased type too.
2020-11-20 17:46:03 +01:00
Crozet Sébastien
cf769522f8
Add sections to the documentations of Isometry and Point.
2020-11-20 17:45:11 +01:00
Crozet Sébastien
c0f4ee6db9
Release v0.23.1
2020-11-19 16:28:06 +01:00
Crozet Sébastien
857ce13b63
Add DVector::from(Vec).
2020-11-19 16:28:06 +01:00
Sébastien Crozet
27f788fbd8
Merge pull request #795 from filnet/clippy_fixes
...
Clippy fixes
2020-11-19 13:51:53 +01:00
Philippe Renon
87ee014bd3
clippy: fix clone_on_copy warnings
2020-11-19 12:55:15 +01:00
Philippe Renon
bbc6a28f7d
clippy: fix len_without_is_empty warnings
2020-11-19 12:24:26 +01:00
Philippe Renon
6a5b418fbc
clippy: fix ptr_offset_with_cast warnings
2020-11-19 11:56:58 +01:00
Philippe Renon
f515cffad9
clippy: fix redundant_closure warnings
2020-11-19 11:43:08 +01:00