Matthias Grob
5844b0e46e
Implement one float equality check and use it everywhere
6 years ago
Matthias Grob
a374f37a54
Include helper_functions like all other library components
6 years ago
James Goppert
60c9c99dcc
Fix type for division.
6 years ago
Julian Kent
b4714e2ed2
Don't lose array sizes in copyTo
6 years ago
Julian Kent
51d2f9f0dc
Remove direct access to internal data
6 years ago
Julian Kent
b817e8677d
Add helpers based on Slice: row(), col(), xy()
6 years ago
Julian Kent
82d565f4d9
Add support for Slice to Matrix, SquareMatrix, Vector
6 years ago
Julian Kent
af1378cc55
Add Slice class
6 years ago
Julian Kent
15865b741c
Help compiler with name resolution to avoid overload mixups
6 years ago
Julian Kent
03ffd696a6
Replace pow with sqrt
6 years ago
Julian Kent
22bf63cb71
A smaller codesize wrap, since it gets inlined in many places
6 years ago
Tanja Baumann
26fd962cbe
fix bug in matrix wrap function ( #83 )
6 years ago
Julian Kent
4a4309327a
better API comment
...
Co-Authored-By: Julian Oes <julian@oes.ch>
6 years ago
Matthias Grob
31450c407c
Matrix: use existing print() if isEqual test fails
6 years ago
Matthias Grob
315010bae1
helper_functions: generalize wrap function to any range
6 years ago
Matthias Grob
007c7c58c4
fix math defines to have M_PI and M_TWOPI
6 years ago
Martina Rivizzigno
cc084e0791
matrix: add method to check all values are nan ( #82 )
6 years ago
kritz
84b3da227c
Canonical Quaternion with tests ( #81 )
6 years ago
Oskar Weigl
5ccfa74c72
Fix const error
6 years ago
Oskar Weigl
eea6b59973
Implement slice as copy loop
6 years ago
TSC21
ec436d5aee
define FLT_EPSILON; be descriptive about upper_right_triangle() method
6 years ago
TSC21
7355a29a2a
tests: use __FLT_EPSILON__ in comparisons
6 years ago
TSC21
96cb9ab146
add NaN value set for Matrix; add return of URT of a matrix
6 years ago
Daniel Agar
6b0777d815
stdlib_imports cinttypes currently unavailable in NuttX toolchain ( #79 )
6 years ago
Matthias Grob
18fba8221c
quaternion: improve comments
6 years ago
Matthias Grob
a4f39c0f89
quaternion: reuse existing dot product
6 years ago
Matthias Grob
9c0acfba36
Matrix: remove unsafe copyToRaw method
...
It used a pointer and could therefore not do correct type checking
for index out of bound or struct memebr order.
Has to be considered unsafe and bad practise.
We should switch to arrays as representation for vectors
inside the messages instead of foo_x, foo_y, foo_z fields.
6 years ago
Beat Küng
0d3bff5e00
Vector2: add explicit constructor for Vector3
...
Initialize from the first 2 elements.
6 years ago
Bart Slinger
707e288019
explicit casting
7 years ago
Bart Slinger
480c5f1f8e
static assert M>=N. floats to Type, arguments as const reference
7 years ago
Bart Slinger
3f2d3cf58d
fix a div/0 condition
7 years ago
Bart Slinger
983a3f0212
use Matrix and Vector class for A and tau
7 years ago
Bart Slinger
0009328257
least squares solver for MxN matrices using QR householder algorithm
7 years ago
Daniel Agar
dc3af80977
constructors use array size rather than pointers
7 years ago
Daniel Agar
f1bee775a0
use default constructors and skip unnecessary initialization
7 years ago
Daniel Agar
1bcf48bd82
Quaternion from_dcm don't pass by value
7 years ago
Roman Bapst
b815fc97c4
replace quiet_NaN() with INFINITY ( #70 )
...
- solves undefined symbols for QURT
Signed-off-by: Roman <bapstroman@gmail.com>
7 years ago
Daniel Agar
03a3e3ad46
helper_functions add wrap_2pi
7 years ago
Daniel Agar
21d47424c6
Quaternion mark const helpers const
7 years ago
James Goppert
d142ac234c
Fix coverage and bug in matrix equal test.
7 years ago
Daniel Agar
50446a55c8
Matrix add == and != operators
7 years ago
Daniel Agar
61af508755
helper_functions include required px4_defines header
7 years ago
Matthias Grob
f835d39017
Quaternion/Vector: Small refactor for review: put more comments, switched type conversions, took out default destination vector because confusing
7 years ago
Matthias Grob
84cd7483ae
Quaternion: added constructor which generates the shortest rotation that maps one vector to another
...
including tedious corner case handling for parallel vectors with 180 degree rotations
7 years ago
Matthias Grob
5130da206a
Vector: added norm_squared() because sometimes you can safe the sqrt operation
7 years ago
Matthias Grob
41ad2bdea5
Matrix: added copyToRaw method to allow copying to a pointer
...
because most uORB messages still contain all components of a vector one by one after each other
7 years ago
Matthias Grob
1dffd5930b
Matrix: add copyTo copying data to an array and copyToColumnMajor which does the same but with column-major order
...
same functionality explicitly for quaternions can be deleted
7 years ago
Matthias Grob
9e59691e43
Vector: Additional normalization with check for zero norm because it occurs so many times in applications
7 years ago
Matthias Grob
f4243160e2
Quaternion: changed comments because of typos and unclear inconsistent indexing
7 years ago
Matthias Grob
ee2219b836
Quaternion: replace conversion in rotate() with AxisAngle call
7 years ago