Main Page | Class Hierarchy | Class List | File List | Class Members

integrate.h

00001 #ifndef MATRIX_INTEGRATE_H 00002 #define MATRIX_INTEGRATE_H 00003 00004 #include "barray.h" 00005 00008 namespace PLib { 00009 00010 template <class T> void cdft(int n, T wr, T wi, BasicArray<T> &a) ; 00011 template <class T> void rdft(int n, T wr, T wi, BasicArray<T> &a) ; 00012 template <class T> void ddct(int n, T wr, T wi, BasicArray<T> &a) ; 00013 template <class T> void ddst(int n, T wr, T wi, BasicArray<T> &a) ; 00014 template <class T> void dfct(int n, T wr, T wi, BasicArray<T> &a) ; 00015 template <class T> void dfst(int n, T wr, T wi, BasicArray<T> &a) ; 00016 00017 00018 template <class T> void chebexp(double (*f)(T), T a, T b, T eps, 00019 BasicArray<T> &c, T &err) ; 00020 template <class T> void chebexp(double (*f)(T,void*), void*, T a, T b, 00021 T eps, BasicArray<T> &c, T &err) ; 00022 template <class T> T chebeval(T x, const BasicArray<T> &c) ; 00023 00024 00025 template <class T> void intccini(BasicArray<T> &w) ; 00026 00027 00028 template <class T> 00029 struct ClassPO { 00030 virtual T operator()(T a) =0; 00031 }; 00032 00033 template <class T> 00034 struct ClassPOvoid { 00035 virtual T operator()(T a, void*) =0; 00036 }; 00037 00038 // POPtr is a pointer to a class that defines the operator()(T) 00039 // Using ClassPO as a base class is a good idea as they are instantiated 00040 // in the source file 00041 00042 00043 template <class T, class POPtr> T integrate(POPtr f, T a, T b, T eps, int n, T &err) ; 00044 template <class T, class POPtr> T intcc(POPtr f, T a, T b, T eps, BasicArray<T> &w, T &err); 00045 template <class T, class POPtr> T integrate2(POPtr f, T a, T b, T eps, int n, T &err) ; 00046 template <class T, class POPtr> T intcc2(POPtr f, T a, T b, T eps, BasicArray<T> w, T &err); 00047 00048 00049 // POvPtr is a pointer to a class that defines the operator()(T,void*) 00050 // Using ClassPOvoid as a base class is a good idea as they are instantiated 00051 // in the source file 00052 00053 template <class T, class POvPtr> T integrate(POvPtr f,void*, T a, T b, T eps, int n, T &err) ; 00054 template <class T, class POvPtr> T intcc(POvPtr,void*, T a, T b, T eps, BasicArray<T> &w, T &err) ; 00055 template <class T, class POvPtr> T integrate2(POvPtr f,void*, T a, T b, T eps, int n, T &err) ; 00056 template <class T, class POvPtr> T intcc2(POvPtr,void*, T a, T b, T eps, BasicArray<T> w, T &err) ; 00057 00058 } 00059 00060 #ifdef INCLUDE_TEMPLATE_SOURCE 00061 #include "fft.cpp" 00062 #include "chebexp.cpp" 00063 #include "intccq.cpp" 00064 #endif 00065 00066 #endif

Generated on Sat May 15 00:00:00 2004 for NURBS++ by doxygen 1.3.7