Julian Kent
977cf52322
Ignore debug line in code coverage
2021-01-22 17:30:00 +01:00
Julian Kent
054f8b12f4
Use a single inverse implementation for a single matrix size
2021-01-05 09:02:09 +01:00
Julian Kent
15e54ceda1
Rework rank-detection tolerance in pseudoinverse
2020-12-18 12:07:19 +01:00
Julian Kent
d9a5e3dec2
Add test for new cutoff threshold
2020-12-18 12:07:19 +01:00
JacobCrabill
ea43303c1c
test/vector3: Add test for scalar +/- operators
2020-12-17 18:05:46 +01:00
Kamil Ritz
13f092a30f
sparse quadratic form
2020-08-26 19:45:05 +02:00
Morten Fyhn Amundsen
cd8ad1584c
Make wrap() work with integer types ( #145 )
...
* Make wrap() work with integers
2020-08-24 10:49:12 +02:00
kritz
f981cea2ae
add possibility to iterate over SparseVector data at runtime ( #143 )
2020-08-09 09:44:49 +02:00
kritz and Julian Kent
18699416b0
SparseVector ( #140 )
...
* Add SparseVector
temp
* Add gtest
* Some reworking of the sparse concept
* Change type of M from int to size_t
* Add const modifier
* Add needed declaration for accessing elements of _indices
* Add norm_squared, norm, longerThan
* Add test for all sparse vector functions
* Add missing const to slice's norm_squared, norm and longerThan
* Construction from Vector<M> and carray[N]
* try to fix ci
Co-authored-by: Julian Kent <julian@auterion.com >
2020-08-07 18:44:48 +02:00
kamilritz
6ed5dbc2db
Construct Vector from Slice<1,M> alias row()
2020-08-06 16:15:05 +02:00
Matthias Grob
a126be0882
attitude test: refactoring to avoid identity quaternion confusion
2020-07-20 18:44:08 +02:00
Matthias Grob
242b38ee9e
Quaternion: remove deprecated axis_angle conversions
2020-07-20 18:44:08 +02:00
Julian Kent
9a30828a0a
Add explicit matrix + scalar test
2020-06-30 10:37:10 -04:00
kamilritz
674bd99f3b
Add operator* and operator/ for slice with type
2020-06-12 11:34:09 +02:00
kamilritz
d613055462
Add more assignment operators for slices
2020-04-07 09:12:17 +02:00
Matthias Grob
976ada411b
Matrix: min max comments and test style
2020-03-23 09:46:07 +01:00
Matthias Grob
a32892926c
Matrix: capture stdout for print() test
...
I want to switch the print() function back to use printf()
such that it's fully compatible with all (embedded) platforms.
To still test the print function I'm capturing stdout into a file
such that the print() function can stay unchanged and the result of
the printf()s can be evaluated.
2020-03-12 13:24:08 +01:00
Matthias Grob
c6db357c92
Matrix: correct print buffer size prediction
...
Apparently printf of %8.8g can result in
8 significant digits + dot + scientific notation e.g. "e+12" = 14 bytes
2020-03-12 10:08:04 +01:00
kritz
4873dc1c1e
Analytic inverse implementation ( #122 )
...
* Add analytic 2x2 matrix inverse
* Add analytical 3x3 matrix inverse
2020-03-04 09:14:04 +01:00
kritz
e81483a808
Catch quaternion canonical corner cases ( #116 )
2019-12-18 14:12:47 +01:00
kritz
2f6398168d
Add several functions that are useful for coavriance matrices: ( #114 )
...
* uncorrelateCovariance
* uncorrelateCovarianceSetVariance
* makeBlockSymmetric
* makeRowColSymmetric
* isBlockSymmetric
* isRowColSymmetric
2019-12-06 12:03:26 +01:00
kritz
5cbcf6035a
Set Matrix's col amd row to single value ( #113 )
2019-12-05 18:16:14 +01:00
kritz
ef442fab92
Getter function for the diag elements of slice ( #112 )
2019-12-05 11:39:21 +01:00
kritz
de6a2d31ff
Slice assign value ( #111 )
...
* Assign value to slice
* Readme for formatting
2019-12-04 14:33:33 +01:00
Julien Lecoeur and Mathieu Bresciani
a172c3cdac
Add implementation of pseudo-inverse ( #102 )
...
* Fix compilation error
* Add implementation of pseudo-inverse
The implementation is based on this publication:
Courrieu, P. (2008). Fast Computation of Moore-Penrose Inverse Matrices, 8(2), 25–29. http://arxiv.org/abs/0804.4809
It is a fully templated implementation to guaranty type correctness.
* Add tests for pseudoinverse
* Apply suggestions from code review
Co-Authored-By: Mathieu Bresciani <brescianimathieu@gmail.com >
* Adapt fullRankCholesky tolerance to type
* Add pseudoinverse test with effectiveness matrix
* Fix coverage
* Fix rebase issue
* Fix SquareMatrix test, add null Matrix test
2019-11-18 14:36:30 -08:00
kritz
38e966cea1
Add min, max, constrain function for Matrix ( #105 )
...
* Add min, max, constrain function for Matrix
* Set individual elements to nan in constrain
* Deal with NANs
2019-11-12 18:57:12 +01:00
kritz
93d42947b6
Add test for setting Quaternion to Identity ( #104 )
2019-11-08 17:27:33 +01:00
Julian Kent
445f58d484
Fix weird C preprocessor conflicts ( #101 )
2019-11-01 14:23:35 +01:00
Julian Kent
215203fc6f
Automatic Differentiation 'Dual' Type ( #100 )
...
* Dual numbers initial implementation
* Add test coverage, with partial derivative example
* Add Jacobian test, fix small issues
* Improve test to demonstrate non-square jacobian
* Better naming for collectReals/Derivatives
* Improve comments
* Potential GCC 4.8 bug workaround
* Add fallback workaround for non-IEEE float platforms
2019-10-23 12:07:51 +02:00
Julian Kent
92d1c8761e
More features: longerThan, norm, copyTo and slice on a Slice ( #97 )
...
* Allow slices of slices, add longerThan to Vector/Slice
2019-10-03 13:47:36 +02:00
Matthias Grob
740324cf1e
Make all array constructors explicit ( #99 )
...
* Make all array constructors explicit
to avoid accidental implicit casts like e.g.
Vector3f v = 0;
assigning nullpointer content.
2019-10-03 13:38:51 +02:00
Julian Kent
7b34c1c51d
Enable branch coverage
2019-10-03 08:32:05 +02:00
Matthias Grob
c34e8dc98f
helper: consider matrices with the same NANs and INFINITYs equal
...
to simplify bulk checks when these values are expected
2019-09-18 09:59:50 +02:00
Matthias Grob
bbaa93880b
helper: consider NAN equal to NAN such that vectors can be compared exactly
2019-09-18 09:59:50 +02:00
Matthias Grob
33a629105c
Matrix: add proper print function testing
...
Before the print function was just implicitly called somewhere
and that's why we had 100% line coverage. With this we have actual
testing of the functions.
2019-09-18 09:59:50 +02:00
Matthias Grob
b0b7d7229a
Multiplication test: fix division resulting in NAN
2019-09-18 09:59:50 +02:00
Matthias Grob
1e80807e8e
test: Add uncovered equality checks with NAN and INFINITE
2019-09-18 09:59:50 +02:00
Matthias Grob
a374f37a54
Include helper_functions like all other library components
2019-09-18 09:59:50 +02:00
Julian Kent
b4714e2ed2
Don't lose array sizes in copyTo
2019-09-17 15:09:12 +02:00
Julian Kent
51d2f9f0dc
Remove direct access to internal data
2019-09-16 21:58:32 -04:00
Julian Kent
18218c8f9c
Test non-square matrix multiplication ( #91 )
...
* Test non-square matrix multiplication
2019-09-16 17:40:25 +02:00
Julian Kent
b817e8677d
Add helpers based on Slice: row(), col(), xy()
2019-09-16 16:11:08 +02:00
Julian Kent
82d565f4d9
Add support for Slice to Matrix, SquareMatrix, Vector
2019-09-16 16:11:08 +02:00
Julian Kent
03ffd696a6
Replace pow with sqrt
2019-09-09 02:18:10 -07:00
Julian Kent
22bf63cb71
A smaller codesize wrap, since it gets inlined in many places
2019-09-05 22:31:13 +02:00
Matthias Grob
74ace7d1d5
helper test: cover wrap close to limits cases ( #84 )
2019-09-05 18:02:33 +02:00
Tanja Baumann
26fd962cbe
fix bug in matrix wrap function ( #83 )
2019-09-05 11:21:41 +02:00
Matthias Grob
938274fce5
helper test: add extensive wrap tests
2019-09-05 10:19:47 +02:00
Martina Rivizzigno
cc084e0791
matrix: add method to check all values are nan ( #82 )
2019-08-26 19:27:58 +02:00
kritz
84b3da227c
Canonical Quaternion with tests ( #81 )
2019-08-22 15:05:14 +02:00