Andrew Tridgell
806852c9c3
AP_Math: speedup fill nanf
2020-11-10 16:15:45 +11:00
Andrew Tridgell
cdcf32d22c
AP_Math: added calc_lowpass_alpha_dt()
...
used in several places
2020-11-10 16:15:45 +11:00
Andrew Tridgell
a56f07b74d
AP_Math: allow build without other headers for vector2.h
2020-11-10 16:15:45 +11:00
Andrew Tridgell
c0b20881d6
AP_Math: allow vector3.h to be included earlier in include chain
2020-11-10 16:15:45 +11:00
Michael du Breuil
051640e2b2
AP_Math: Log line numbers on constrain_nan's for constrain float
2020-11-03 11:04:13 +11:00
Andrew Tridgell
747b48d0a8
AP_Math: added crc_sum8
...
for FPort/FPort2
2020-10-28 09:00:34 +11:00
murata
9714d8dde9
AP_MAth: Move the CRC24 to the AP_Math class
2020-10-21 18:24:07 +11:00
Patrick José Pereira
6ee401cb00
AP_Math: Remove isnan check for non-float type
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-10-16 09:22:05 +11:00
Tom Pittenger
787d7f5254
Revert "AP_Math: add function to convert any base to any base"
...
This reverts commit 935cb39dff
.
2020-10-07 19:11:38 +11:00
Tom Pittenger
a0f25640a2
Revert "AP_Math: add bitwise fetch/load 16, 24, 32bit operations"
...
This reverts commit 6efaa29577
.
2020-10-07 19:11:38 +11:00
Tom Pittenger
ee8f50e6a5
Revert "AP_Math: fix LoadUint() to allow 32bit values"
...
This reverts commit 5e2450c4ea
.
2020-10-07 19:11:38 +11:00
Tom Pittenger
5e2450c4ea
AP_Math: fix LoadUint() to allow 32bit values
2020-10-05 15:32:53 -07:00
Tom Pittenger
6efaa29577
AP_Math: add bitwise fetch/load 16, 24, 32bit operations
2020-09-15 13:09:50 -07:00
Tom Pittenger
935cb39dff
AP_Math: add function to convert any base to any base
...
Example: convert dec 12345 to 0x12345 or dec 1200 to octal 1200
2020-09-15 13:09:50 -07:00
Pierre Kancir
240c34ecde
AP_Math: add missing ; on benchmark test
2020-09-06 19:13:04 +10:00
yaapu
144f7df02f
AP_Math: added CRCs needed by AP_MSP
2020-09-02 05:56:46 +10:00
bugobliterator
a8d36a37c4
AP_Math: ensure that we use environment Python interpreter
2020-08-03 14:02:09 +10:00
Andy Piper
d4c5b945b3
AP_Math: move crc8_dvb_s2 here and add additional crc8 functions
2020-07-07 18:48:06 +10:00
Andrew Tridgell
b6a5509409
AP_Math: added test for vector2f rotate
2020-07-06 14:46:48 +10:00
Andrew Tridgell
24d0804249
AP_Math: added rotate() method to Vector2f
2020-07-06 14:46:48 +10:00
Rishabh
0779cf436e
AP_Math: Added function to calculate shortest distance betwwen point and line segment in 3D
2020-06-19 09:45:34 +09:00
Peter Barker
2f8c0dd65b
AP_Math: remove use of Vector3 as function
2020-06-16 11:06:47 +10:00
Peter Barker
dad5b4e903
AP_Math: remove use of Vector2 as function
2020-06-16 11:00:44 +10:00
Andrew Tridgell
a56a7f7da4
AP_Math: added more vector3f ops for lua
2020-06-04 09:49:52 +10:00
Randy Mackay
bdb67532b0
AP_Math: clarify get_vel_correction_for_sensor_offset comment
2020-06-02 08:33:42 +09:00
Randy Mackay
4639e8a698
AP_Math: add get_vel_correction_for_sensor_offset
2020-06-01 17:51:24 +09:00
bugobliterator
05fe49a51f
AP_Math: disable INEXACT flag from Float exception
2020-05-17 16:12:43 +10:00
Andrew Tridgell
3e853344f3
AP_Math: avoid build warnings
2020-05-10 15:11:22 +10:00
Peter Barker
58a8e54d83
AP_Math: create and use INTERNAL_ERROR macro so we get line numbers
2020-04-30 13:21:36 +10:00
Mark Whitehorn
7d3d664ddf
AP_Math: generate internalError on call to Vector3<T>::rotate and Quaternion::from_rotation with bad rotation value
2020-04-28 10:52:21 +10:00
Randy Mackay
9fd39f3768
AP_Math: alternative quaternion rotation test
2020-04-09 19:41:08 +09:00
Randy Mackay
26e4dd6fef
AP_Math: correct quaternion::from_rotation for pitch-180
2020-04-09 19:41:08 +09:00
Randy Mackay
c18fce6714
AP_Math: add quaternion rotation test
2020-04-09 19:41:08 +09:00
Randy Mackay
61a06bbb04
AP_Math: add quaternion rotate, from_rotation and invert
2020-04-09 19:41:08 +09:00
Randy Mackay
338548c5eb
AP_Math: move HALF_SQRT_2 def to rotation.h
...
This allows it to be used by the Quaternion class
2020-04-09 19:41:08 +09:00
Samuel Tabor
45cb663d73
AP_Math: Add template for Vector2f::projected.
2020-04-08 09:11:54 +10:00
Randy Mackay
9c8a5a7392
AP_Math: add comments above some quaternion methods
...
thanks to jchallinger
2020-04-03 10:16:07 +09:00
Randy Mackay
7a48a3f354
AP_Math: minor comment fix
2020-03-30 20:20:02 +09:00
Patrick José Pereira
1635054c4f
AP_Math: Add missing constexpr
...
Signed-off-by: Patrick José Pereira <patrickelectric@gmail.com>
2020-03-17 10:23:47 +11:00
Andrew Tridgell
f908e56154
AP_Math: define ROTATION_MAX_AUTO_ROTATION
...
we don't want to use ROTATION_PITCH_7 in our auto rotation mix, as it
is too close to level
2020-01-01 16:59:27 +11:00
Randy Mackay
f87ae7d445
AP_Math: add vector2f::offset_bearing
2020-01-01 13:38:41 +09:00
Andrew Tridgell
ff2cfbaafb
AP_Math: added smaller footprint crc32
2019-10-28 15:53:16 +11:00
Siddharth Purohit
fb48d8ee1b
AP_Math: add method for generating hash
2019-10-19 09:55:38 +11:00
Andrew Tridgell
66b4e92444
AP_Math: make fill_nanf() use a signalling NaN
...
we want use of these values to trigger a FPE
2019-10-01 17:35:26 +10:00
Peter Barker
6fe09b6120
AP_Math: move is_valid_octal into adsb
...
This doesn't ensure the value is octal digits - there's more magic in
it.
2019-10-01 09:18:15 +10: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
975804fa35
AP_Math: remove unit_mod concept from wrap functions
...
devcall decided it would be clearer to have non-shared implementation
for the _cd variants
2019-09-25 13:19:44 +10:00
Andrew Tridgell
9b746b89db
AP_Math: added fill_nanf()
...
used in SITL to invalidate memory
2019-09-24 12:51:54 +10:00
Peter Barker
5692f3d79e
AP_Math: stop returning float for integer wrap_180/wrap_360 etc
2019-09-18 12:57:02 +10:00
Peter Barker
84d999142f
AP_Math: add more tests for wrap functions
2019-09-18 12:57:02 +10:00
Randy Mackay
c7ca9c04f8
AP_Math: add comment to vector2f::point_on_segment
2019-08-10 12:21:01 +09:00
Peter Barker
4c434c2df9
AP_Math: add WARN_IF_UNUSED to bool methods
2019-07-26 09:26:02 +09:00
Andrew Tridgell
2480a62e55
AP_Math: added speed/distance conversions
2019-07-13 11:05:57 +10:00
murata
c5a471e778
AP_Math: Common modbus crc method
2019-07-12 15:33:21 +10:00
Randy Mackay
614b0f6dc8
AP_Math: Polygon_intersects handles unclosed polygons
2019-07-07 04:08:34 -07: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
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