template < class ForwardIterator, class Functor, class GradFunctor, class Traits>
|
std::pair< typename Functor::result_type, bool>
|
|
sibson_c1_interpolation ( |
ForwardIterator first,
ForwardIterator beyond,
typename std::iterator_traits<ForwardIterator>::value_type::second_type norm,
typename std::iterator_traits<ForwardIterator>::value_type:: first_type p,
Functor function_value,
GradFunctor function_gradient,
Traits traits) |
|
| |
This function generates the interpolated function
value at the point p using Sibson's Z1 interpolant
[Sib81].
If the functor function_gradient cannot supply the gradient of
a point, the function returns a pair where the Boolean is set to
false. If the interpolation was successful, the pair contains
the interpolated function value as first and true as second
value. Precondition: | norm ≠ 0.
function_value(p).second == true for all points p of
the point/coordinate pairs in the range
[.first, beyond.). |
|
template < class ForwardIterator, class Functor, class GradFunctor, class Traits>
|
typename Functor::result_type
|
sibson_c1_interpolation_square ( |
ForwardIterator first,
ForwardIterator beyond,
typename std::iterator_traits<ForwardIterator>::value_type::second_type norm,
typename std::iterator_traits<ForwardIterator>::value_type::first_type p,
Functor function_value,
GradFunctor function_gradient,
Traits traits) |
|
| |
The same as above except that no square root
operation is needed for FT.
|