Commit Graph

41 Commits

Author SHA1 Message Date
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