2 changed files with 0 additions and 63 deletions
@ -1,62 +0,0 @@
@@ -1,62 +0,0 @@
|
||||
// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
#include "Plane.h" |
||||
|
||||
#if 0 // currently unused
|
||||
|
||||
struct DataPoint { |
||||
unsigned long x; |
||||
long y; |
||||
}; |
||||
|
||||
DataPoint history[ALTITUDE_HISTORY_LENGTH]; // Collection of (x,y) points to regress a rate of change from
|
||||
unsigned char hindex; // Index in history for the current data point
|
||||
|
||||
unsigned long xoffset; |
||||
unsigned char n; |
||||
|
||||
// Intermediate variables for regression calculation
|
||||
long xi; |
||||
long yi; |
||||
long xiyi; |
||||
unsigned long xi2; |
||||
|
||||
void add_altitude_data(unsigned long xl, long y) |
||||
{ |
||||
//Reset the regression if our X variable overflowed
|
||||
if (xl < xoffset) |
||||
n = 0; |
||||
|
||||
//To allow calculation of sum(xi*yi), make sure X hasn't exceeded 2^32/2^15/length
|
||||
if (xl - xoffset > 131072/ALTITUDE_HISTORY_LENGTH) |
||||
n = 0; |
||||
|
||||
if (n == ALTITUDE_HISTORY_LENGTH) { |
||||
xi -= history[hindex].x; |
||||
yi -= history[hindex].y; |
||||
xiyi -= (long)history[hindex].x * history[hindex].y; |
||||
xi2 -= history[hindex].x * history[hindex].x; |
||||
} else { |
||||
if (n == 0) { |
||||
xoffset = xl; |
||||
xi = 0; |
||||
yi = 0; |
||||
xiyi = 0; |
||||
xi2 = 0; |
||||
} |
||||
n++; |
||||
} |
||||
|
||||
history[hindex].x = xl - xoffset; |
||||
history[hindex].y = y; |
||||
|
||||
xi += history[hindex].x; |
||||
yi += history[hindex].y; |
||||
xiyi += (long)history[hindex].x * history[hindex].y; |
||||
xi2 += history[hindex].x * history[hindex].x; |
||||
|
||||
if (++hindex >= ALTITUDE_HISTORY_LENGTH) |
||||
hindex = 0; |
||||
} |
||||
#endif |
||||
|
Loading…
Reference in new issue