Commit Graph

490 Commits

Author SHA1 Message Date
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
Michael du Breuil
48610ea0a0 AP_Math: Remove an unneeded safe_sqrtf, leverage is_zero 2018-11-07 10:43:28 +11:00
Peter Barker
154d771e6c AP_Math: correct compilation when running MATH_CHECK_INDEXES 2018-10-19 08:46:43 +11:00
Peter Barker
dc14d7bce4 AP_Math: add another test for wrap_360_cd 2018-10-16 10:29:24 +11:00
Lucas De Marchi
5521fce676 AP_Math: add non-uniform Vector3f scaling 2018-10-15 14:41:09 -07:00
Andrew Tridgell
d4eaf09baf AP_Math: added rotation_equal() 2018-10-01 14:26:56 +09:00
Michael du Breuil
9cd1be1d6f AP_Math: Speed up location calculations slightly 2018-09-19 14:40:48 +10:00
Peter Barker
43f3d611b2 AP_Math: pragma away the float-equal test for the maths tests
There are legitimate reasons for doing direct equivalence in these files
2018-08-28 09:54:47 +10:00
Peter Barker
8fee27937a AP_Math: eliminate SITL float-equals issues 2018-08-28 09:54:47 +10:00
Peter Barker
fa5757f618 AP_Math: fix float-equals warnings 2018-08-15 12:16:49 +10: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
Peter Barker
626467db14 AP_Math: add tests for line intersection 2018-08-14 19:41:45 +10:00
Michael du Breuil
d568767164 AP_Math: Add conversion between inches of water to pascals 2018-08-08 09:07:17 +10:00
Michael du Breuil
46355e3de9 AP_Math: Add a warning to rotations to indicate that it is expected to
match the MAVLink definitions
2018-07-26 12:58:14 +09:00
Andrew Tridgell
8170fbcf80 AP_Math: added a comment on conventions for to_euler() 2018-07-18 16:07:19 +10:00
Peter Barker
20d22f3629 AP_Math: quaternion requires isnan, so include math.h to get it 2018-07-02 09:31:11 +10:00
Peter Barker
6af0dcfed0 AP_Math: create a constrain_int64
The template system doesn't work across 32/64 bit builds (SITL
vs fmuv4), probably because int is typedef'd to int64
2018-06-15 08:01:22 +10:00
Tom Pittenger
3653ba61d7 AP_Math: add is_valid_octal helper function.
returns true if valid
2018-05-23 14:02:45 -07:00
Patrick José Pereira
1ca6647b2e AP_Math: Create Standard Sea Level variables
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2018-05-23 02:36:43 +01:00
Andrew Tridgell
d4d7d1f734 AP_Math: avoid double maths when not needed 2018-05-07 11:43:23 +10:00