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