Gromacs
2020.3
|
#include "gmxpre.h"
#include "splineutil.h"
#include <cmath>
#include <algorithm>
#include <functional>
#include <utility>
#include <vector>
#include "gromacs/utility/alignedallocator.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/real.h"
#include "gromacs/utility/stringutil.h"
Implements internal utility functions for spline tables.
Functions | |
void | gmx::internal::throwUnlessDerivativeIsConsistentWithFunction (const std::function< double(double)> &function, const std::function< double(double)> &derivative, const std::pair< real, real > &range) |
Ensure analytical derivative is the derivative of analytical function. More... | |
void | gmx::internal::throwUnlessDerivativeIsConsistentWithFunction (ArrayRef< const double > function, ArrayRef< const double > derivative, double inputSpacing, const std::pair< real, real > &range) |
Ensure vector of derivative values is the derivative of function vector. More... | |
static double | gmx::internal::quotientOfFunctionAndSecondDerivative (double previousPoint, double thisPoint, double nextPoint, double spacing) |
Calculate absolute quotient of function and its second derivative. More... | |
real | gmx::internal::findSmallestQuotientOfFunctionAndSecondDerivative (const std::function< double(double)> &f, const std::pair< real, real > &range) |
Find smallest quotient between analytical function and its 2nd derivative. More... | |
real | gmx::internal::findSmallestQuotientOfFunctionAndSecondDerivative (ArrayRef< const double > function, double inputSpacing, const std::pair< real, real > &range) |
Find smallest quotient between vector of values and its 2nd derivative. More... | |
static double | gmx::internal::quotientOfFunctionAndThirdDerivative (double previousPreviousPoint, double previousPoint, double thisPoint, double nextPoint, double nextNextPoint, double spacing) |
Calculate absolute quotient of function and its third derivative. More... | |
real | gmx::internal::findSmallestQuotientOfFunctionAndThirdDerivative (const std::function< double(double)> &f, const std::pair< real, real > &range) |
Find smallest quotient between analytical function and its 3rd derivative. More... | |
real | gmx::internal::findSmallestQuotientOfFunctionAndThirdDerivative (ArrayRef< const double > function, double inputSpacing, const std::pair< real, real > &range) |
Find smallest quotient between function and 2nd derivative (vectors) More... | |
std::vector< double > | gmx::internal::vectorSecondDerivative (ArrayRef< const double > f, double spacing) |
Calculate second derivative of vector and return vector of same length. More... | |