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
Andrew Tridgell
61c8dfac31
AP_Math: split out double precision location functions
...
this allows ALLOW_DOUBLE_MATH_FUNCTIONS to be used
2018-05-07 11:43:23 +10:00
Andrew Tridgell
3b8ec3a2a0
AP_Math: allow double precision maths where needed
2018-05-07 11:43:23 +10:00
Jacob Walser
f97ac4af30
AP_Math: add custom rotation option
2018-04-24 13:04:37 +01:00
Jacob Walser
4f02f709a2
AP_Math: fix typo
2018-04-24 13:04:37 +01:00
Jacob Walser
e738f33770
AP_Math: Add ROTATION_PITCH_315 and ROTATION_ROLL_90_PITCH_315
2018-04-24 13:04:37 +01:00
Andrew Tridgell
a6e05cbf5a
AP_Math: added crc32 for IOMCU bootloader protocol
2018-04-17 08:44:44 +10:00
Andrew Tridgell
17f2f40b11
AP_Math: added xmodem CRC
...
used by blheli 4-way ESC protocol
2018-04-07 09:10:29 +10:00
Peter Barker
febcdd766b
AP_Math: narrow enumeration to uint8_t to avoid narrowing-warnings
...
/home/pbarker/rc/ardupilot/libraries/DataFlash/LogFile.cpp:361:25:
error: non-constant-expression cannot be narrowed from type 'enum
Rotation' to 'uint8_t' (aka 'unsigned char') in initializer list
[-Wc++11-narrowing]
orient1 : s0 ? s0->orientation() : ROTATION_NONE,
2018-04-02 14:12:09 +09:00
Peter Barker
c343a286c5
AP_Math: quaternion: add contructor from float[4]
2018-03-27 20:13:03 +09:00
bnsgeyer
600e0dac92
AP_Math: added support for cubic spline interpolation
2018-03-27 09:07:03 +11: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
ee1fea55ce
AP_Math: moved constants from AP_Baro
2018-01-16 07:14:20 +11:00
Andrew Tridgell
4ce696a520
AP_Math: fixed example build on ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
f5b24a3838
AP_Math: fixed build of Sub with ChibiOS
2018-01-15 11:46:02 +11:00
Andrew Tridgell
3d2c4ffa79
AP_Math: allow write to indexed vector2
2018-01-15 11:46:02 +11:00
Andrew Tridgell
f088c3de23
AP_Math: added long templates
2018-01-15 11:46:02 +11:00
Dr.-Ing. Amilcar Do Carmo Lucas
e13281ab2d
AP_Math: add overloaded functions get_horizontal_distance_cm() and get_bearing_cd() (NFC)
2017-12-05 08:54:49 +09:00
Dr.-Ing. Amilcar Do Carmo Lucas
ec1790dad9
AP_Math: Use DEGX100 define instead of hardcoded value (NFC)
2017-12-05 08:54:49 +09:00
Andrew Tridgell
9660973975
AP_Math: make crc_crc8 const
2017-11-27 10:15:07 +09:00
Andrew Tridgell
3f226cd2b9
AP_Math: added from_rotation() method to Matrix3
...
this is used to get a rotation matrix from a rotation enum
2017-11-23 14:26:11 +11:00
Peter Barker
1ca76173a5
AP_Math: set radians(...) and degrees(...) as constexpr
2017-10-27 16:33:45 +11:00
Randy Mackay
2aa1f3f100
AP_Math: replace divide with multiply in distance_to_segment
2017-09-09 14:05:41 +09:00
Randy Mackay
e892bbbac0
AP_Math: add Vector3f::distance_to_segment
2017-09-09 14:05:41 +09:00
Randy Mackay
e6328c350d
AP_Math: add Vector3f::distance_squared
2017-09-09 14:05:41 +09:00
khancyr
15398f8b0e
AP_Math: correct variable init and remove define in polygon
2017-07-31 17:35:08 +09:00
Miguel Arroyo
7cea21afa2
AP_Math: Moves rand_vec3f from SITL_State.
2017-06-29 09:22:08 +10:00
Francisco Ferreira
da5060964b
AP_Math: uniformize template type parameter keyword
...
Use typename everywhere instead of class
2017-06-21 18:19:31 +09:00
Francisco Ferreira
1ffe12008c
AP_Math: adapt test for new norm method API
2017-06-21 18:19:31 +09:00
Francisco Ferreira
7b98f41947
AP_Math: correct norm to need two arguments
...
Correctly use sqrtf instead of the double version
Stop casting to float since sq already returns one
2017-06-21 18:19:31 +09:00
Randy Mackay
db45442de2
AP_Math: remove unused angle method
2017-06-09 15:21:58 +09:00
Michael du Breuil
2cd6ff6dd5
AP_Math: Accept float epsilon in is_positive is_negative as a valid result
2017-05-27 10:46:59 -07:00
Michael du Breuil
5a15413513
AP_Math: Add is_negative and is_positive helpers
2017-05-24 15:22:27 -07:00
Andrew Tridgell
607220d12b
AP_Math: rename macros to avoid conflicts
...
these macros were also defined in NuttX in clock.h
2017-05-06 15:21:14 +10:00
Andrew Tridgell
2fcecaa7c5
AP_Math: added rand_float()
2017-05-03 20:12:04 +10:00
Pierre Kancir
f2812c1efd
AP_Math: example fix travis warning
...
missing function declaration
implicit cast
some style fix
2017-04-13 19:56:16 +01:00
Tom Pittenger
1abeb03d2b
AP_Math: remove HAL_CPU_CLASS_16
2017-04-12 17:25:30 -07:00
Andrey Kolobov
a1fa2a9de3
AP_Math: added matrixN for soaring controller
2017-03-14 08:35:44 +11:00
Francisco Ferreira
7afcbf51ec
AP_Math: also fix SEC_PER_WEEK
2017-03-13 02:57:30 +00:00
murata
1982285e23
AP_Math: update MSEC_PER_SEC definition to fix GPS time calcs
2017-03-13 11:50:33 +09: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
Michael du Breuil
97c57764c4
AP_Math: Add a 3D location difference, returning NED
2017-02-13 09:23:14 +11:00
murata
30151c8253
Global: Define MSEC_PER_SEC, MSEC_PER_WEEK, SEC_PER_WEEK and UNIX_OFFSET.
2017-02-11 01:34:09 -08:00
Lucas De Marchi
2b9478f430
AP_Math: tests: make both arguments double
...
libraries/AP_Math/tests/test_math.cpp.3.o: In function `MathTest_IsEqual_Test::TestBody()':
test_math.cpp:(.text._ZN21MathTest_IsEqual_Test8TestBodyEv+0x1a0): undefined reference to `std::enable_if<std::is_floating_point<std::common_type<float, double>::type>::value, bool>::type is_equal<float, double>(float, double)'
collect2: error: ld returned 1 exit status
2017-02-06 09:27:22 -08:00
Lucas De Marchi
008ac0a2a8
AP_Math: remove unused double instantiation
2017-02-06 09:27:22 -08:00