#ifndef __JFUNCTIONALMAP_T__ #define __JFUNCTIONALMAP_T__ #include "JTools/JDistance.hh" #include "JTools/JMap.hh" #include "JTools/JGridMap.hh" #include "JTools/JPolint.hh" #include "JTools/JSpline.hh" #include "JTools/JResult.hh" /** * \file * * Various implementations of functional maps. * \author mdejong */ namespace JTOOLS {} namespace JPP { using namespace JTOOLS; } namespace JTOOLS { /** * Type definition of a spline interpolation based on a JMap implementation. */ template > struct JSplineFunctionalMap : public JSplineMap::result_type, JDistance_t> {}; /** * Type definition of a spline interpolation based on a JGridMap implementation. */ template > struct JSplineFunctionalGridMap : public JSplineMap::result_type, JDistance_t> {}; /** * Type definition of a zero degree polynomial interpolation based on a JMap implementation. */ template > struct JPolint0FunctionalMap : public JPolintMap<0, JKey_t, JValue_t, JMap, typename JResultType::result_type, JDistance_t> {}; /** * Type definition of a 1st degree polynomial interpolation based on a JMap implementation. */ template > struct JPolint1FunctionalMap : public JPolintMap<1, JKey_t, JValue_t, JMap, typename JResultType::result_type, JDistance_t> {}; /** * Type definition of a 2nd degree polynomial interpolation based on a JMap implementation. */ template > struct JPolint2FunctionalMap : public JPolintMap<2, JKey_t, JValue_t, JMap, typename JResultType::result_type, JDistance_t> {}; /** * Type definition of a 3rd degree polynomial interpolation based on a JMap implementation. */ template > struct JPolint3FunctionalMap : public JPolintMap<3, JKey_t, JValue_t, JMap, typename JResultType::result_type, JDistance_t> {}; /** * Type definition of a zero degree polynomial interpolation based on a JGridMap implementation. */ template > struct JPolint0FunctionalGridMap : public JPolintMap<0, JKey_t, JValue_t, JGridMap, typename JResultType::result_type, JDistance_t> {}; /** * Type definition of a 1st degree polynomial interpolation based on a JGridMap implementation. */ template > struct JPolint1FunctionalGridMap : public JPolintMap<1, JKey_t, JValue_t, JGridMap, typename JResultType::result_type, JDistance_t> {}; /** * Type definition of a 2nd degree polynomial interpolation based on a JGridMap implementation. */ template > struct JPolint2FunctionalGridMap : public JPolintMap<2, JKey_t, JValue_t, JGridMap, typename JResultType::result_type, JDistance_t> {}; /** * Type definition of a 3rd degree polynomial interpolation based on a JGridMap implementation. */ template > struct JPolint3FunctionalGridMap : public JPolintMap<3, JKey_t, JValue_t, JGridMap, typename JResultType::result_type, JDistance_t> {}; /** * Type definition of a spline interpolation based on a JMap implementation. */ template > struct JSplineFunctionalMapH : public JSplineMap::result_type>, JDistance_t> {}; /** * Type definition of a spline interpolation based on a JGridMap implementation. */ template > struct JSplineFunctionalGridMapH : public JSplineMap::result_type>, JDistance_t> {}; /** * Type definition of a zero degree polynomial interpolation based on a JMap implementation. */ template > struct JPolint0FunctionalMapH : public JPolintMap<0, JKey_t, JValue_t, JMap, JResultDerivative::result_type>, JDistance_t> {}; /** * Type definition of a 1st degree polynomial interpolation based on a JMap implementation. */ template > struct JPolint1FunctionalMapH : public JPolintMap<1, JKey_t, JValue_t, JMap, JResultDerivative::result_type>, JDistance_t> {}; /** * Type definition of a 2nd degree polynomial interpolation based on a JMap implementation. */ template > struct JPolint2FunctionalMapH : public JPolintMap<2, JKey_t, JValue_t, JMap, JResultDerivative::result_type>, JDistance_t> {}; /** * Type definition of a 3rd degree polynomial interpolation based on a JMap implementation. */ template > struct JPolint3FunctionalMapH : public JPolintMap<3, JKey_t, JValue_t, JMap, JResultDerivative::result_type>, JDistance_t> {}; /** * Type definition of a zero degree polynomial interpolation based on a JGridMap implementation. */ template > struct JPolint0FunctionalGridMapH : public JPolintMap<0, JKey_t, JValue_t, JGridMap, JResultDerivative::result_type>, JDistance_t> {}; /** * Type definition of a 1st degree polynomial interpolation based on a JGridMap implementation. */ template > struct JPolint1FunctionalGridMapH : public JPolintMap<1, JKey_t, JValue_t, JGridMap, JResultDerivative::result_type>, JDistance_t> {}; /** * Type definition of a 2nd degree polynomial interpolation based on a JGridMap implementation. */ template > struct JPolint2FunctionalGridMapH : public JPolintMap<2, JKey_t, JValue_t, JGridMap, JResultDerivative::result_type>, JDistance_t> {}; /** * Type definition of a 3rd degree polynomial interpolation based on a JGridMap implementation. */ template > struct JPolint3FunctionalGridMapH : public JPolintMap<3, JKey_t, JValue_t, JGridMap, JResultDerivative::result_type>, JDistance_t> {}; } #endif