Andy Piper
87a369727a
AP_Math: specialize float and double functions to use fabsf() and simple comparison otherwise
2022-02-13 14:43:37 +11:00
Andrew Tridgell
168e860f70
AP_Math: fixed a few more single precision calls
2021-07-10 07:20:41 +10:00
Andrew Tridgell
0f2f0d4cb2
AP_Math: allow for double EKF build
2021-07-10 07:20:41 +10:00
Andrew Tridgell
9b91cfe4ee
AP_Math: implement double versions of some position control methods
2021-06-24 21:34:30 +10:00
Andrew Tridgell
3315ec5acc
AP_Math: added tofloat() and todouble() methods to Vector2 and Vector3
2021-06-24 21:34:30 +10:00
Randy Mackay
e2b46d05dc
AP_Math: Vector2,3 get limit_length methods
2021-04-03 12:07:59 +09:00
Andrew Tridgell
720f9a1de0
AP_Math: cleanup maths functions
...
use class template instantiation, and cleanup const in matrix code
2021-01-21 13:09:21 +11:00
Peter Barker
f534963413
AP_Math: consolidate error checking
2021-01-04 13:58:42 +11:00
murata
4ffc559ccc
AP_Math: judge isnan judgment before operation
2021-01-04 13:58:42 +11:00
Andrew Tridgell
24d0804249
AP_Math: added rotate() method to Vector2f
2020-07-06 14:46:48 +10:00
Samuel Tabor
45cb663d73
AP_Math: Add template for Vector2f::projected.
2020-04-08 09:11:54 +10:00
Randy Mackay
f87ae7d445
AP_Math: add vector2f::offset_bearing
2020-01-01 13:38:41 +09:00
Peter Barker
189ef5f1e7
AP_Math: define != for Vector2<int>
2019-09-28 07:58:48 +09:00
Andrew Tridgell
13a2367278
AP_Math: change optimisation from -O3 to -O2
2019-09-28 08:57:26 +10:00
Peter Barker
da5d5c9203
AP_Math: add tests for Vector2
2019-06-13 19:36:49 +10:00
Randy Mackay
c2bcc0d5f0
AP_Math: define Vector2f::perpendicular
2019-06-11 13:13:22 +09:00
Andrew Tridgell
a5fd7ac5ca
AP_Math: add vector2f::closest_distance_between_line_and_point_squared
...
also add vector2f::closest_distance_between_line_and_point and vector2f::closest_distance_between_lines_squared
2019-06-11 13:13:22 +09:00
Andrew Tridgell
2457bf71d4
AP_Math: add simplified vector2f::closest_point
...
this simpler version assumes the line segment originates at the origin
2019-06-11 13:13:22 +09:00
Andrew Tridgell
c8e49259a0
AP_Math: add vector2f::closest_distance_between_radian_and_point_squared
2019-06-11 13:13:22 +09:00
Andrew Tridgell
dbf337e1b3
AP_Math: move closest_point to cpp
2019-06-11 13:13:22 +09:00
Andrew Tridgell
bfc28dfde9
AP_Math: move normalize, reflect, project and perpendicular to cpp
2019-06-11 13:13:22 +09:00
Andrew Tridgell
01e541b7d1
AP_Math: minor formatting changes to length method
2019-06-11 13:13:22 +09:00
Andrew Tridgell
4c4de1f021
AP_Math: vector2f::length_squared always returns float
2019-06-11 13:13:22 +09:00
Andrew Tridgell
69781cda42
AP_Math: add Vector2::angle
2019-06-11 13:13:22 +09:00
Pierre Kancir
f1270b4b22
AP_Math: const correctness
2018-12-22 08:39:06 +09:00
Michael du Breuil
48610ea0a0
AP_Math: Remove an unneeded safe_sqrtf, leverage is_zero
2018-11-07 10:43:28 +11:00
Andrew Tridgell
c3cf8f5435
AP_Math: fixed a bug in segment_intersection()
...
we could get an intercept point beyond the end of the segment
2018-08-14 19:41:45 +10:00
Randy Mackay
c28cfcdc27
AP_Math: add Vector2f::circle_segment_intersection
2018-01-22 17:18:41 +09:00
Randy Mackay
a655c36159
AP_Math: add Vector2f::segment_intersection
2018-01-22 17:18:41 +09:00
Andrew Tridgell
f5b24a3838
AP_Math: fixed build of Sub with ChibiOS
2018-01-15 11:46:02 +11:00
Michael du Breuil
c5c94949bf
AP_Math: Extend vector2::angle(vector2) to distinguish parallel and antiparallel vectors
...
There are a number of use cases where distingusihing antiparallel from parallel vectors is important
2017-03-02 00:50:44 +00:00
Pierre Kancir
556993d7f0
AP_Math: Vector2 add == operator for int
2016-12-06 09:31:21 -08:00
Mathieu OTHACEHE
152edf7189
Global: remove mode line from headers
...
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
dgrat
41661f815f
AP_Math: Replace the pythagorous* functions with a variadic template
...
The new function can deal with a variable number of function parameters.
Additionally, I renamed the functions to norm(), because this is the
standard name used in several other projects.
2016-05-10 11:41:26 -03:00
Andrew Tridgell
c9ec8b3f67
AP_Math: added O3 optimisation to core math libraries
...
this costs some flash space but speeds things up considerably
2015-10-20 14:36:53 +11:00
Andrew Tridgell
0b897e04bb
AP_Math: revert AP_Math class change
2015-05-05 13:27:06 +10:00
Tom Pittenger
ac4e7b2b03
AP_Math: compiler warnings: apply is_equal(float)
2015-05-05 13:26:51 +10:00
Andrew Tridgell
728dbf24db
AP_Math: fixed vector inequality test
...
many thanks to cat888
fixes issue #2039
2015-04-01 20:40:37 -07:00
Andrew Tridgell
7e5a491f14
AP_Math: prevent a floating point exception
2014-04-21 15:37:08 +10:00
Andrew Tridgell
737f0305ef
AP_Math: implement vector2 cross product
...
useful in DCM for faster yaw correction
2013-05-05 13:47:51 +10:00
Andrew Tridgell
43c3c60de2
AP_Math: moved a lot of vector templates to cpp from .h
...
this reduces the code size quite a lot on AVR
2013-04-12 12:48:08 +10:00
Andrew Tridgell
a072afa223
AP_Math: expand some macros into functions
...
this saves some flash
2012-12-20 14:52:38 +11:00