50#ifndef LASS_GUARDIAN_OF_INCLUSION_NUM_SPLINE_CUBIC_H
51#define LASS_GUARDIAN_OF_INCLUSION_NUM_SPLINE_CUBIC_H
67class SplineCubic:
public Spline<ScalarType, DataType>
71 typedef DataTraits TDataTraits;
72 typedef Spline<ScalarType, DataType> TSplineBase;
73 typedef typename TSplineBase::TScalar TScalar;
74 typedef typename TSplineBase::TData TData;
75 typedef typename TSplineBase::ControlRange TControlRange;
78 template <
typename PairInputIterator>
79 SplineCubic(PairInputIterator iFirst, PairInputIterator iLast);
80 template <
typename ScalarInputIterator,
typename DataInputIterator>
81 SplineCubic(ScalarInputIterator iFirstControl, ScalarInputIterator iLastControl,
82 DataInputIterator iFirstData);
84 const TData operator()(TScalar iX)
const override;
85 const TData derivative(TScalar iX)
const override;
87 const TData integral(TScalar iA, TScalar iB)
const override;
89 bool isEmpty()
const override;
90 const TControlRange controlRange()
const override;
103 typedef std::vector<Node> TNodes;
104 typedef typename TNodes::const_iterator TNodeConstIterator;
107 const TNodeConstIterator findNode(TScalar iX)
const;
110 size_t dataDimension_;
abstract base class of splines.
numeric types and traits.
const SplineLinear< S, D, T >::TData SplineLinear< S, D, T >::derivative2(TScalar) const
Get the second derivative of data value that corresponds with constrol value iX.
Library for Assembled Shared Sources.