Commit Graph

399 Commits

Author SHA1 Message Date
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
Lucas De Marchi
87038d8ef1 AP_Math: add casts to consider literals as doubles
Since we pass -fsingle-precision-constant to the compiler, add casts to
make literals real doubles.
2017-02-06 09:27:22 -08:00
Lucas De Marchi
48d94db259 AP_Math: double constants need a type
We can't use define since we use -fsingle-precision-constant and they
would be interpreted as float.
2017-02-06 09:27:22 -08:00
Lucas De Marchi
a500aced3c AP_Math: remove unused double constants 2017-02-06 09:27:22 -08:00
Lucas De Marchi
87c82ce0c6 AP_Math: add some more tests for constrain_value() 2017-01-27 12:15:20 -08:00
Lucas De Marchi
82d210144b AP_Math: remove warnings from constrain_value()
Return type is T which can be an integral type, float or double. By
dividing by 2 we avoid float operation on the first case and do the
right thing on the second and third.
2017-01-27 12:15:19 -08:00
Lucas De Marchi
2605c7265b AP_Math: remove warnings from safe_asin()
Return type is float, so operate on float types everywhere.
Fixes this warning while building for PX4:

../../libraries/AP_Math/AP_Math.cpp: In instantiation of 'float safe_asin(T) [with T = double]':
../../libraries/AP_Math/AP_Math.cpp:56:48:   required from here
../../libraries/AP_Math/AP_Math.cpp:44:11: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
     if (v >= 1.0f) {
           ^
../../libraries/AP_Math/AP_Math.cpp:47:11: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
     if (v <= -1.0f) {
           ^
2017-01-27 12:15:19 -08:00
Lucas De Marchi
69a9cd3625 AP_Math: add tests to is_equal()
Contemplate the use of double values.
2017-01-27 12:15:19 -08:00
Lucas De Marchi
4f8d2059f8 AP_Math: use right epsilon for is_equal()
We are calling fabsf(), which returns a float. We should use the epsilon
from float type, not from the argument type passed to fabsf().

On the other hand when the double version is instantiated we do want to
use the std::numeric_limits<double>::epsilon() value.

This adds a branch to the function, but it's removed when the function
is intantiated by the compiler since the type is known at compile-time.

Fixes this warning when building for PX4:
../../libraries/AP_Math/AP_Math.cpp: In instantiation of 'typename std::enable_if<std::is_floating_point<typename std::common_type<_Tp, _Up>::type>::value, bool>::type is_equal(Arithmetic1, Arithmetic2) [with Arithmetic1 = double; Arithmetic2 = double; typename std::enable_if<std::is_floating_point<typename std::common_type<_Tp, _Up>::type>::value, bool>::type = bool]':
../../libraries/AP_Math/AP_Math.cpp:23:66:   required from here
../../libraries/AP_Math/AP_Math.cpp:17:29: warning: implicit conversion from 'float' to 'double' to match other operand of binary expression [-Wdouble-promotion]
     return fabsf(v_1 - v_2) < std::numeric_limits<decltype(v_1 - v_2)>::epsilon();
                             ^
2017-01-27 12:15:19 -08:00
murata
ec4cce15a1 AP_Math: Unify from print or println to printf. 2017-01-27 18:20:22 +11:00
Andrew Tridgell
67a2441b12 AP_Math: started a set of crc functions
these functions are often common between drivers
2017-01-27 18:11:29 +11:00
murata
e903cb9945 AP_Math: Change mask value to hexadecimal number. 2017-01-17 10:20:15 -08:00
Pierre Kancir
47f1a754c5 AP_Math: add some test for vector2 equality test 2016-12-20 14:09:04 +00:00
Pierre Kancir
eae093cd2a AP_Math: add test for is_equal for int 2016-12-20 14:09:04 +00:00
Pierre Kancir
da49149d19 AP_Math: is_equal correct comparison for integer as epsilon doesn't exist.
Credit to Kwikius for the right solution
2016-12-20 14:09:04 +00:00
Pierre Kancir
ce734b5f7b AP_Math: Remove unecessary check 2016-12-19 14:36:03 +00:00
Pierre Kancir
556993d7f0 AP_Math: Vector2 add == operator for int 2016-12-06 09:31:21 -08:00
Pierre Kancir
6bf1322633 AP_Math: polygon.cpp correct float comparison 2016-12-06 09:31:21 -08:00
Pierre Kancir
79a9e8dfad AP_Math: Matrix_alg fix implicite cast from bool to float 2016-12-05 12:39:31 -08:00
Pierre Kancir
fb7a00799f AP_Math: quaternion fix missing return 2016-12-05 10:33:41 -08:00
Andrew Tridgell
a8d10e8c2c AP_Math: added get_random16() 2016-12-02 09:49:38 +11:00
murata
f9add59b58 Global: Aggregate the same definitions.
Global: Aggregate the same definitions.
2016-11-09 11:46:55 -03:00
Andrew Tridgell
b00fd95725 AP_Math: define Vector3l for += op 2016-11-09 17:08:13 +11:00
murata
c808ee2f49 Global: To nullptr from NULL.
RC_Channel: To nullptr from NULL.

AC_Fence: To nullptr from NULL.

AC_Avoidance: To nullptr from NULL.

AC_PrecLand: To nullptr from NULL.

DataFlash: To nullptr from NULL.

SITL: To nullptr from NULL.

GCS_MAVLink: To nullptr from NULL.

DataFlash: To nullptr from NULL.

AP_Compass: To nullptr from NULL.

Global: To nullptr from NULL.

Global: To nullptr from NULL.
2016-11-02 16:04:47 -02:00
Mathieu OTHACEHE
152edf7189 Global: remove mode line from headers
Using a global .dir-locals.el file is a better alternative than
reincluding the same emacs header in every file of the project.
2016-10-24 09:42:01 -02:00
Jonathan Challinger
80d9092993 AP_Math: remove rotateXY and rotateXYinv 2016-10-13 10:02:14 +11:00
Lucas De Marchi
ae53920e5b build: don't build examples with old build system
We currently check examples are buildable with waf which doesn't need
the libraries to be specified in a make.inc file.  Having the makefiles
there is misleading since people try to build and realize the build is
broken.
2016-10-11 13:03:08 +11:00
Lucas De Marchi
0d4caa3ccc AP_Math: remove declaration of not implemented functions 2016-08-03 00:16:35 -03:00
Murilo Belluzzo
70942472d3 AP_Math: Matrix: Change deallocator to match allocator used 2016-08-03 00:09:11 -03:00
Lucas De Marchi
7b7e73680f AP_Math: add USEC_PER_MSEC 2016-07-30 00:55:28 -03:00
Peter Barker
2047d53470 Math: move closest_point in from AC_Avoid 2016-07-25 20:24:37 +09:00
Peter Barker
779f78d471 AP_Math: vector3 perpendicular function 2016-07-25 20:24:37 +09:00
Peter Barker
f6cb0ffb6f AP_Math: add Vector2f perpendicular
Add closest_distance_between_radial_and_point function
2016-07-25 20:24:37 +09:00
Peter Barker
b6d0b028c3 AP_Math: add operator[] to Vector2 2016-07-25 20:24:37 +09:00
Daniel Ricketts
249d95b413 AP_Math: add Polygon_outside and Polygon_complete functions 2016-06-25 15:55:55 +09:00
Leonard Hall
e0eecd56b2 AP_Math: use is_zero and float constants 2016-06-24 16:16:34 +09:00
Leonard Hall
7f933140c7 AP_Math: small formatting fix to quaternion rotation_matrix
No functional change
2016-06-24 16:16:33 +09:00
Leonard Hall
8afd29cc85 AP_Math: add quaternion::rotation_matrix_norm 2016-06-24 16:16:28 +09:00
Pierre Kancir
a8e5ff93b5 AP_Math: Correct missing declaration warning 2016-06-21 12:17:46 -03:00
Tom Pittenger
00aaa78757 AP_Math: add separate check_lat() and check_lng() 2016-06-06 13:02:56 -07:00
Andrew Tridgell
3969bde84a AP_Math: fixed coverity warning in example 2016-06-05 07:20:46 +10:00
Peter Barker
cb16d0b6c6 AP_Math: correct examples build on px4 2016-06-04 12:31:36 -03:00
Tom Pittenger
7b4c503052 AP_Math: use new check_latlng helper 2016-06-01 17:38:48 -07:00
Tom Pittenger
ce9ecf9f3d AP_Math: added check_latlng helper 2016-06-01 17:38:48 -07:00
Gustavo Jose de Sousa
ef61096e08 AP_Math: geodesic_grid tool: show triangle number for sections too 2016-05-18 13:28:52 -03:00
Gustavo Jose de Sousa
a6deb65d95 AP_Math: geodesic_grid tool: add option --section 2016-05-18 13:28:52 -03:00
Lucas De Marchi
1ac712fa65 AP_Math: fix is_zero() after template conversion 2016-05-17 15:49:29 -07:00