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
Randy Mackay
071e340827
AP_Math: Polygon_closest_distance_line returns neg numbers
...
value is negative distance from intersection to p2
2019-06-11 13:13:22 +09:00
Andrew Tridgell
6eb816fd3b
AP_Math: add Polygon_closest_distance_line
...
Also add optimisations
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
46617e6c72
AP_Math: remove unused include from Vector2
2019-06-11 13:13:22 +09:00
Andrew Tridgell
69781cda42
AP_Math: add Vector2::angle
2019-06-11 13:13:22 +09:00
Peter Hall
ea4ecebfc4
AP_Math: add speed unit converstion defs
2019-06-03 10:48:19 +09:00
Peter Barker
e4de5a17d1
AP_Math: add pitch-7 to rotation tests
2019-05-29 17:12:32 +10:00
Andrew Tridgell
e2eda63d2c
AP_Math: added new rotation for PITCH_7
2019-05-29 17:12:32 +10:00
Peter Barker
977fe09276
AP_Math: add a more complex polygon for Polygon_outside tests
2019-05-29 15:34:02 +10:00
Peter Barker
d3971c18fa
AP_Math: more tests for closed-vs-open polygons
2019-05-29 15:34:02 +10:00
Peter Barker
d74e6db12e
AP_Math: add more tests for Polygon_outside
2019-05-29 15:34:02 +10:00
Peter Barker
36fe9a18a0
AP_Math: make Polygon_outside cope with being passed unclosed polygons
2019-05-29 15:34:02 +10:00
Peter Barker
64aafb2af2
AP_Math: add Polygon_outside tests for long template instantiation
2019-05-28 09:08:07 +10:00
Peter Barker
51a0401383
AP_Math: correct Polygon_outside floating point instatiation
...
This routine was entemplatificated from the integer version, which was
designed to be perfect across representable ranges of points. The
floating point version suffered from a rounding problem.
2019-05-28 09:08:07 +10:00
Peter Barker
b35b65eed1
AP_Math: add GTEST suite for Polygon_outside
2019-05-28 09:08:07 +10:00
Peter Barker
f09efe0908
AP_Math: correct URL for Polygon_outside algorithm
2019-05-24 13:17:43 +10:00
Francisco Ferreira
6e95a144ef
AP_Math: add macro for m/s to knots convertion
2019-05-21 09:41:15 +10:00
murata
c6bcb1d54c
AP_Math: Collect CRC16 into CRC file
...
AP_Math: Collect CRC16 into CRC file
2019-05-21 09:19:19 +10:00
Andrew Tridgell
85ce10adfd
AP_Math: fixed test build
2019-05-15 15:33:48 +10:00
murata
7f42be5d3e
AP_Math: Commonize the CRC4 method
2019-04-24 08:44:11 -07:00
Mark Whitehorn
b515431008
AP_Math: add expo and throttle_curve functions
2019-04-23 09:46:38 +10:00
Peter Barker
b22d3a0103
AP_Math: avoid casting floats to int32's for temporary variables
...
Note the use of 64-bit integer arithmetic further down, however
2019-04-23 09:36:17 +10:00
Pierre Kancir
ff4587a33a
AP_Math: move location define to Location class
2019-04-23 09:20:43 +10:00
Pierre Kancir
1854681e09
AP_Math: use past_interval_finish_line and line_path_proportion from Location
2019-04-23 09:20:43 +10:00
Pierre Kancir
4f31c3dcd5
AP_Math: move line_path_proportion to Location
2019-04-23 09:20:43 +10:00
Pierre Kancir
e06d7dbbf7
AP_Math: move location_passed_point to Location and rename
2019-04-23 09:20:43 +10:00
Peter Barker
11dcdc58e0
AP_Math: clean up includes a little
2019-04-16 10:00:29 +10:00
Pierre Kancir
121e5d0abf
AP_Math: move location_3d_diff_NED to Location and rename
2019-04-09 20:59:48 +10:00
Peter Barker
381bb41a5e
AP_Math: make constraining NaNs an internal error
2019-04-09 10:18:43 +10:00
Pierre Kancir
e787922ab0
AP_Math: move check_latlng to Location
2019-04-08 12:56:01 -07:00
Pierre Kancir
b10e75f4e1
AP_Math: move locations_are_same to Location and rename to same_latlon_as
2019-04-08 08:05:05 -07:00
Pierre Kancir
058cade92c
AP_Math: use get_distance_NE instead of location_diff
2019-04-08 08:00:52 -07:00
Pierre Kancir
00fa07ef33
AP_Math: move location_diff to Location and rename
2019-04-08 08:00:52 -07:00
Peter Barker
ce53ae63ae
AP_Math: use /2 in place of *0.5f
...
MdB says:
dividing by 2 is actually optimal. It's type correct for all usage, and the compiler generates the multiplication if it's float, and sticks with divide for integers
Godbolt indicates on any optimization level (O1-O3, and Os) that the compiler will correctly optimize the / 2 into a float multiplication if using a float, but if using integer types in the template it will stick with the / 2 which is faster then doing the conversions to/from float.
2019-04-05 23:04:17 -07:00
Peter Barker
39ae285a7f
AP_Math: add floating point constant designators
2019-04-05 23:04:17 -07:00
Pierre Kancir
b31e5bf055
AP_Math: move location_update to Location and rename to offset_bearing
2019-04-06 09:10:28 +11:00
Pierre Kancir
88b29ff18c
AP_Math: move get_bearing_cd to Location and rename to get_bearing_to
2019-04-06 09:10:28 +11:00
Pierre Kancir
f6941beeb9
AP_Math: fix circulary inclusion error
2019-04-02 19:00:02 +11:00
Pierre Kancir
d47e9c8514
AP_Math: add missing include on matrix3
2019-04-02 19:00:02 +11:00
Peter Barker
e6a8e337c7
AP_Math: move sanitize to be a method on location
2019-04-02 10:19:38 +11:00
Peter Barker
431bd77d7e
AP_Math: move print_latlon into sole caller
2019-04-02 10:19:38 +11:00
Peter Barker
499cc45ac0
AP_Math: move longitude_scale into Location class
2019-03-12 10:11:12 +11:00