1 #ifndef CARMA_UTIL_QUADRATICINTERPOLATOR_H
2 #define CARMA_UTIL_QUADRATICINTERPOLATOR_H
29 #define QP_ANGLE_FN(fn) double (fn)(double angle)
66 static const double pi_;
67 static const double twopi_;
146 void extend(
double x,
double y);
198 void getXvals(
double xVals[3],
unsigned * numXvals );
246 pthread_mutex_t mutex_;
318 virtual double fixAngle(
double angle);
325 void get(QuadData* data);
345 void set(QuadData* data);
351 double extendAngle(
double a,
double b);
QuadType
Enumerate the various types of ephemeris types we might handle.
void lock()
A public method to lock this container.
QuadType type_
The type of ordinate we are interpolating.
Angles defined modulo 2.pi between 0 <= v < 2.pi.
double getXmax()
A method to query the maximum x-value in our interpolation container.
QuadraticInterpolator()
Constructor function.
static const double pi_
Define constants.
void setEmptyValue(double emptyValue)
A method to set the value to be returned while the interpolation container is empty.
void unlock()
A public method to unlock this container.
unsigned getNpt()
A method to query the number of points currently in our interpolation container.
double getXmin()
A method to query the minimum x-value in our interpolation container.
Angles defined modulo 2.pi between -pi <= v < pi.
The QuadraticInterpolator class is used to perform quadrature interpolation of arbitrary continuous f...
virtual ~QuadraticInterpolator()
Destructor.
bool tryLock()
A public method to attempt to lock this container.
double gradient(double x)
Return the gradient of the function at x.
void empty()
Empty the coordinate table of a QuadraticInterpolator object.
double evaluate(double x)
Return the value of the function at x.
bool canBracket(double x)
A method to query if the container can bracket the requested value.
void extend(double x, double y)
Append or prepend an x,y coordinate pair to the three-entry circular table of a quadratic interpolati...