Gromacs
2026.0-dev-20241212-74b8831
|
#include "gmxpre.h"
#include "cubicsplinetable.h"
#include <cmath>
#include <cstdlib>
#include <algorithm>
#include <functional>
#include <initializer_list>
#include <string>
#include <utility>
#include <vector>
#include "gromacs/tables/tableinput.h"
#include "gromacs/utility/alignedallocator.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/real.h"
#include "splineutil.h"
Implements classes for cubic spline table functions.
Functions | |
void | gmx::anonymous_namespace{cubicsplinetable.cpp}::calculateCubicSplineCoefficients (double functionValue0, double functionValue1, double derivativeValue0, double derivativeValue1, double spacing, double *Y, double *F, double *G, double *H) |
Calculate table elements from function/derivative data. More... | |
void | gmx::anonymous_namespace{cubicsplinetable.cpp}::cubicSplineInterpolationFromFunctionAndDerivative (double functionValue0, double functionValue1, double derivativeValue0, double derivativeValue1, double spacing, double eps, double *interpolatedFunctionValue, double *interpolatedDerivativeValue) |
Perform cubic spline interpolation in interval from function/derivative. More... | |
void | gmx::anonymous_namespace{cubicsplinetable.cpp}::fillSingleCubicSplineTableData (const std::function< double(double)> &function, const std::function< double(double)> &derivative, const std::pair< real, real > &range, double spacing, std::vector< real > *yfghTableData) |
Construct the data for a single cubic table from analytical functions. More... | |
void | gmx::anonymous_namespace{cubicsplinetable.cpp}::fillSingleCubicSplineTableData (ArrayRef< const double > function, ArrayRef< const double > derivative, double inputSpacing, const std::pair< real, real > &range, double spacing, std::vector< real > *yfghTableData) |
Construct the data for a single cubic table from vector data. More... | |