Gromacs
2024.4
|
#include <functional>
#include <utility>
#include <vector>
#include "gromacs/utility/alignedallocator.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/real.h"
Declares 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... | |
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... | |
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... | |
template<class T , class U > | |
void | gmx::internal::fillMultiplexedTableData (const T inputData, U *multiplexedOutputData, std::size_t valuesPerTablePoint, std::size_t numTables, std::size_t thisTableIndex) |
Copy (temporary) table data into aligned multiplexed vector. More... | |