Commit Graph

509 Commits

Author SHA1 Message Date
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
Dr.-Ing. Amilcar do Carmo Lucas 65ccef04b9 AP_Math: replace location_offset() and get_distance() C function calls with Location object member (C++) function calls
This allows removing duplicated code in the AP_Math/location.cpp file
2019-02-28 11:44:09 +11:00
Andrew Tridgell ecbe67a0fe AP_Math: fixed inefficient sq() function 2019-02-23 21:04:00 +11:00
Randy Mackay 07f7d793df AP_Math: add quaternion::angular_difference 2019-02-22 13:00:07 +09:00
Peter Barker 81ddeef1bd AP_Math: remove keywords.txt 2019-02-17 00:29:38 -08:00
Pierre Kancir 695073db49 AP_Math: correct crc_xmodem definition 2019-02-06 23:20:07 +11:00
Pierre Kancir 9e927d1376 AP_Math: correct copyright, add pragma-once 2019-02-06 23:20:07 +11:00
Pierre Kancir 97ce39bf0c AP_Math: use direct assignment for rotate() 2019-02-06 21:41:30 +11:00
Pierre Kancir dd0283d537 AP_Math: reduce variable scope in crc_crc8 2019-02-06 21:41:30 +11:00
Peter Barker 2fa0b61f8b AP_Math: update example/test for Location_Class merge 2019-01-16 11:45:29 +11:00
Peter Barker 31fa9e582e AP_Math: adjust for Location_Class and Location unification 2019-01-16 11:45:29 +11:00
Peter Barker ce37c9f69b AP_Math: adjust for location flags being moved out of union 2019-01-16 11:45:29 +11:00
Pierre Kancir 85b83ed6af AP_Math: remove non-ascii caracter 2018-12-22 08:39:23 +09:00
Pierre Kancir f1270b4b22 AP_Math: const correctness 2018-12-22 08:39:06 +09:00