41 template <RealConcept T>
54 template <RealConcept T>
104 template <RealConcept T>
107 _data->insertSample(x, y);
117 template <RealConcept T>
120 return _data->value(x);
137 template <RealConcept T>
144 std::unique_ptr<InterpSetData> _data;
Class for managing a set of data and performing interpolation.
double max() const noexcept
Retrieves the maximum absolute value in the interpolation set.
void divide(T a)
Divides all y-values in the dataset by a given number.
void insertSample(T x, T y) noexcept
Inserts a sample point into the interpolation set.
std::optional< T > value(T x) const noexcept
Retrieves the interpolated value at a given point.
Wrapper class for managing interpolation sets using smart pointers.
constexpr InterpSet()
Constructs a new InterpSet object.
void divide(T a) const
Divides all y-values in the dataset by a given number.
constexpr ~InterpSet()=default
std::optional< T > getValueAt(T x) const noexcept
Retrieves the interpolated value at a given point.
double getMax() const noexcept
Retrieves the maximum absolute value in the interpolation set.
InterpSet & operator=(const InterpSet &)=delete
InterpSet(const InterpSet &)=delete
InterpSet & operator=(InterpSet &&)=delete
void insertSample(T x, T y) const noexcept
Inserts a sample point into the interpolation set.
InterpSet(InterpSet &&)=delete
Concept constraining interpolation inputs to arithmetic values.
Global configuration file for the project.
double RealType
Type for real numbers.