MathTL
|
00001 // -*- c++ -*- 00002 00003 // +--------------------------------------------------------------------+ 00004 // | This file is part of MathTL - the Mathematical Template Library | 00005 // | | 00006 // | Copyright (c) 2002-2009 | 00007 // | Thorsten Raasch, Manuel Werner | 00008 // +--------------------------------------------------------------------+ 00009 00010 #ifndef _MATHTL_DIFFERENCES_H 00011 #define _MATHTL_DIFFERENCES_H 00012 00013 #include <iostream> 00014 #include <algebra/infinite_vector.h> 00015 00016 namespace MathTL 00017 { 00022 template <unsigned int K> 00023 InfiniteVector<double, int> forward_difference(const InfiniteVector<double, int>& a); 00024 00028 template <> 00029 InfiniteVector<double, int> forward_difference<0>(const InfiniteVector<double, int>& a); 00030 00034 template <> 00035 InfiniteVector<double, int> forward_difference<1>(const InfiniteVector<double, int>& a); 00036 00040 template <unsigned int K> 00041 InfiniteVector<double, int> backward_difference(const InfiniteVector<double, int>& a); 00042 00046 template <> 00047 InfiniteVector<double, int> backward_difference<0>(const InfiniteVector<double, int>& a); 00048 00052 template <> 00053 InfiniteVector<double, int> backward_difference<1>(const InfiniteVector<double, int>& a); 00054 } 00055 00056 // include implementation 00057 #include <numerics/differences.cpp> 00058 00059 #endif