ardupilot/libraries/AP_Math
Gustavo Jose de Sousa c28c3265c8 AP_Math: AP_GeodesicGrid: optimize with neighbor umbrellas
This is a first optimization of the algorithm. The struct for the neighbor
umbrella has only one member, but new members will be added in the next
optimization.

The table below summarizes the mean CPU time in ns from the brenchmark results
on an Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz processor:

Cases  | Naive implementation | First Optimization
--------------------------------------------------
Min.   |                 26.0 |              28.00
1st Qu.|                 78.0 |              48.75
Median |                132.0 |              57.00
Mean   |                130.1 |              61.20
3rd Qu.|                182.2 |              76.00
Max.   |                234.0 |              98.00

This optimization reduces the mean time for the worst case (Max. line) by more
than 50%.
2016-05-16 19:08:36 -03:00
..
benchmarks AP_Math: benchmark_geodesic_grid: add benchmark 2016-05-16 19:08:36 -03:00
examples AP_Math: added from_axis_angle() method on Matrix3f 2016-04-22 10:28:15 +10:00
tests AP_Math: test_geodesic_grid: test triangles indexes 2016-05-16 19:08:36 -03:00
AP_GeodesicGrid.cpp AP_Math: AP_GeodesicGrid: optimize with neighbor umbrellas 2016-05-16 19:08:36 -03:00
AP_GeodesicGrid.h AP_Math: AP_GeodesicGrid: optimize with neighbor umbrellas 2016-05-16 19:08:36 -03:00
AP_Math.cpp AP_Math: Fix typos 2016-05-13 19:20:06 -03:00
AP_Math.h AP_Math: Replace is_zero() with a template function 2016-05-16 19:08:35 -03:00
definitions.h AP_Math: define golden ratio constant 2016-05-16 19:08:35 -03:00
edc.cpp AP_Math: Fix typos 2016-05-13 19:20:06 -03:00
edc.h AP_Math: stop using Progmem.h 2015-12-27 15:58:12 -02:00
keywords.txt Beginnings of a math library for ArduPilot(Mega) systems. 2010-09-08 08:21:46 +00:00
location.cpp AP_Math: Fix typos 2016-05-13 19:20:06 -03:00
location.h AP_Math: add location sanity checker/fixer util 2016-03-02 08:48:26 -08:00
matrix3.cpp AP_Math: Matrix3: add inverse() and invert() functions 2016-05-16 19:08:35 -03:00
matrix3.h AP_Math: Matrix3: add inverse() and invert() functions 2016-05-16 19:08:35 -03:00
matrix_alg.cpp AP_Math: Fix typos 2016-05-13 19:20:06 -03:00
polygon.cpp uncrustify libraries/AP_Math/polygon.cpp 2012-08-21 19:03:34 -07:00
polygon.h AP_Math: reorganize headers 2016-05-10 11:41:26 -03:00
quaternion.cpp AP_Math: quaternion: fix style 2016-05-10 16:16:37 +10:00
quaternion.h AP_Math: quaternion: fix style 2016-05-10 16:16:37 +10:00
rotations.h AP_Math: reorganize headers 2016-05-10 11:41:26 -03:00
vector2.cpp AP_Math: Replace the pythagorous* functions with a variadic template 2016-05-10 11:41:26 -03:00
vector2.h Global: start using cmath instead of math.h 2016-04-05 21:06:19 -07:00
vector3.cpp AP_Math: Replace the pythagorous* functions with a variadic template 2016-05-10 11:41:26 -03:00
vector3.h AP_Math: Fix typos 2016-05-13 19:20:06 -03:00
vectorN.h AP_Math: remove trailing whitespace on headers 2016-05-10 11:41:26 -03:00