1#ifndef __IPOL_LINEAR_HPP
2#define __IPOL_LINEAR_HPP
5#include "IpolDelimiter.hpp"
38template <
class T,
bool Vectorial = false>
45 template <
class Storage1D,
class Limiter>
49#ifdef DEBUG_LINEAR_IPOL
51 printf(
"LinearIpol():%lg of %d\n", t,
int(
size) );
53 if (t<=0 )
return L.limit(
Data[ 0 ] );
60 return L.limit(
Data[i]);
62#ifdef DEBUG_LINEAR_IPOL
63 cout <<
" LinearIpol: [" << i <<
"]=" <<
Data[i] <<
", [" << i+1 <<
"]="<<
Data[i+1]<<
" @ " << t <<
endl;
64 printf(
"LinearIpol(%d,%d)@%lg\n",i,i+1, t);
67 return L.limit(
Data[i]) * (1-t) +
L.limit(
Data[i+1]) * t;
70 template <
class Storage1D,
class Limiter>
99 template <
class Storage1D,
class Limiter>
104 if (t<=0 )
return L.limit(
Data[ 0 ] );
111 return L.limit(
Data[i]);
116 template <
class Storage1D,
class Limiter>
constexpr __enable_if_is_duration< _ToDur > floor(const duration< _Rep, _Period > &__d)
valarray< size_t > size() const
basic_ostream< _CharT, _Traits > & endl(basic_ostream< _CharT, _Traits > &__os)
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
T value_type
Export the type argument.
Definition LinearIpol.hpp:97
Linear interpolation.
Definition LinearIpol.hpp:40
T value_type
Export the type argument.
Definition LinearIpol.hpp:43
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
IndexTypeConfig< sizeof(void *)>::index_t index_t
Define the index type as according to the size of a pointer, i.e.
Definition Index.hpp:22
Helper class (type trait) for class LinerIpol, which for a given type T provides a static member func...
Definition LinearIpol.hpp:25